【发布时间】:2019-09-03 22:19:40
【问题描述】:
我在 Hadoop 集群上运行 Spark。我尝试运行 Spark 作业并注意到我遇到了一些问题,最终通过查看数据节点的日志意识到其中一个数据节点的文件系统已满
我查看了hdfs dfsadmin -report 来确定这一点。剩余的 DFS 类别为 0B,因为使用的非 DFS 是海量的(155GB 的 193GB 配置容量)。
当我查看此数据节点上的文件系统时,我发现其中大部分来自 /usr/local/hadoop_work/ 目录。那里有 三个 块池,其中一个非常大(98GB)。当我查看集群中的其他数据节点时,它只有 一个 块池。
我想知道的是我可以简单地删除其中两个块池吗?我假设(但对此知之甚少)namenode(我只有一个)将查看最新的块池,该块池的大小较小,并且对应于另一个数据节点上的块池。
【问题讨论】:
-
见stackoverflow.com/questions/45157724/…。我不建议像那样删除 - 结果声音可能会震耳欲聋。
-
@thebluephantom 感谢您提出问题。为什么您认为这可能会导致问题?
-
不确定,因为我更像是一名设计师、建筑师
-
好吧,很公平。对于后代,我确实删除了两个看起来多余的块池,似乎没有发生任何可怕的事情。我之前无法启动在磁盘已满的节点上运行的datanode,但删除块池似乎使datanode能够启动
-
有趣的是,我会非常小心,但在这个领域的文档不是很好。