Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Hadoop 数据节点一直在消亡_Hadoop_Microsoft Distributed File System - Fatal编程技术网

Hadoop 数据节点一直在消亡

Hadoop 数据节点一直在消亡,hadoop,microsoft-distributed-file-system,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交互的命令,如: had

我正在运行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():

我已尝试停止所有守护进程,删除dfs/数据并格式化namenode。这样做之后,我可以成功地再次启动集群,一切正常,但一旦我与hdfs交互或运行MR作业,数据节点就会死亡

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


不确定我还能尝试什么。

正如Remus Rusanu正确指出的那样,HDFS存储在一个共享的挂载文件夹中,这就是问题所在。指定单独的data.dirs解决了这个问题。

/srv/shared
网络共享挂载文件夹吗?它是否由多个数据节点共享?嗨,Remus,是的,这是一个共享装载的文件夹。我不确定您为什么要将共享文件夹用于HDFS存储,但无论如何,请确保每个数据节点在共享存储Hi-Remus上使用不同的文件夹,我不会;-)这是一个遗留应用程序。好的,谢谢,是的,这很有道理。node1-one具有
dfs.datanode.data.dir
/srv/shared/node1/hadoop/dfs/data
,node2使用
/srv/shared/node2/hadoop/dfs/data
等等。
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.