hadoop - Datanode不断死亡

标签 hadoop microsoft-distributed-file-system

我正在运行hadoop 0.20.2(是的,这是一个旧版应用程序)。
我有2个节点的简单主从设置。
我可以使用master上的jps命令启动集群:

4513 TaskTracker
4225 DataNode
4116 NameNode
4565 Jps
4329 SecondaryNameNode
4410 JobTracker

在从站上使用jps命令:
2409 Jps
2363 TaskTracker
2287 DataNode

但是,如果我运行与hdfs交互的命令,例如:
hadoop dfs -ls /

需要花费几分钟,然后其中一个数据节点死亡。
查看日志,我可以看到这是一个已知的bug(the directory is already locked hadoop):
2017-07-05 16:12:59.986 INFO main org.apache.hadoop.hdfs.server.common.Storage - Cannot lock storage /srv/shared/hadoop/dfs/data. The directory is already locked.
Cannot lock storage /srv/shared/hadoop/dfs/data. The directory is already locked.

我尝试停止所有守护程序并删除dfs / data并格式化namenode。完成此操作后,我可以重新启动群集,一切正常,但是一旦与hdfs交互或运行MR作业,datanode就会死亡。

根据其他帖子,我正在采取的确切步骤是:
1.停止所有守护程序
2.删除dfs / data目录
3.运行hadoop namenode -format
4.启动所有守护程序

不知道我还能尝试什么。

最佳答案

正如Remus Rusanu正确指出的那样,HDFS存储在共享的已安装文件夹中,这就是问题所在。指定单独的data.dirs可解决此问题。

关于hadoop - Datanode不断死亡,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44929090/

相关文章:

尽管安装了最新版本,Hadoop 仍显示旧版本

windows - 除了 Hadoop 之外,Windows 上还有运行分布式文件系统的吗?

dynamic-programming - 如何解决 dfs 和 dp 中的算法问题

hadoop - 在 Apache Nifi 上运行多个 hive sql

hadoop - Hive bucketing 生成的文件比预期的多,为什么?

java - AWS EMR Step 失败,因为它创建的作业失败

powershell - 如何使用Powershell提取文件夹的DFS属性

java - Hadoop : JPS can not find Java installed

caching - 如何从 hadoop 缓存图像以及如何隐藏 url 中给定的端口号

hadoop - java.lang.UnsatisfiedLinkError : org. apache.hadoop.io.nativeio.NativeIO 启动DFS失败