datanode,datanode无法启动

http://www.itjxue.com  2023-01-07 01:05  来源:未知  点击次数: 

小白求教,datanode无法正常启动是什么情况

这样的情况一般有2种可能:

1、datanode启动失败。可以像楼上说的倒datanode机器上执行jps命令查看datanode进程是否已经启动。如果jps不能正常显示,可以使用ps -ax | grep hadoop

2、datanode进程已经启动,仍在运行。出现这种情况是由于namenode和datanode中保存的namespaceID不同所引起的。知道的可能情况是启动过集群后,又重新执行了hadoop namenode -format导致的。解决方法是删掉datanode配置的dfs.data.dir目录,不过这样一来所有文件就都没有了。要慎重。

hdfs在写数据的过程中datanode死掉怎么办

在写入的时候不会重新重新分配datanode。 如果写入时,一个datanode挂掉,会将已经写入的数据放置到data queue的顶部,并将挂掉的datanode移出pipline,将数据写入到剩余的datanode.在写入结束后, namenode会收集datanode的信息,发现此文件的replication没有达到配置的要求(default=3),然后寻找一个datanode保存副本。

hadoop缩减datanode

1、配置NameNode的hdfs-site.xml,适当减小dfs.replication副本数,增加dfs.hosts.exclude配置

2、在对应路径(/etc/hadoop/)下新建excludes文件,并写入待删除DataNode的ip或域名

3、在NameNode上刷新所有DataNode

4、此时,可以在web检测界面(ip:50070)上可以观测到DataNode逐渐变为Dead。或者也可以用以下命令查看

主要是看Decommission Status 字段,Decommissioned(退役的),如果只是节点的datanode没有启动,或者服务器就没启动,这个字段会是Normal并且提示Dead datanodes (1):

DataNode无法启动,All specified directories are failed to load

Namenode节点因网络问题挂掉以后,整个集群的datanode等服务也相继挂了,待修复网络问题,并且启动集群后发现有两个datanode节点无法启动,查看日志发现其报错如下:

分析最终发现无法启动原因是disk1和disk2存储的数据版本不一致:

继续排查发现:

cat /mnt/disk2/hdfs/current/VERSION

而 cat /mnt/disk1/hdfs/current/VERSION

~ 不明白为啥这个ID会变~, 后续推测若集群可能被其他同事多次 hdfs namenode -format是可能会导致此问题的

hadoop中datanode怎么启动

首先,哪些服务器作为datanode,是根据你的"hadoop的安装目录/etc/conf/slaves"配置的主机的别名来决定的。

其次,在第一次启动Hadoop前,必须先将HDFS格式化。使用hadoop namenode -format命令来格式化。

然后执行下述命令来启动hadoop相关组件。

cd hadoop的安装目录/sbin

./start-all.sh

最后通过直接输入jps命令,来查看namenode、datanode是否启动成功。

(责任编辑:IT教学网)

更多