解决启动hadoop时datanode无法启动

当我们使用hadoop namenode -format格式化namenode时,会在namenode数据文件夹(这个文件夹为自己配置文件中dfs.name.dir的路径)中保存一个current/VERSION文件,记录clusterID,datanode中保存的current/VERSION文件中的clustreID的值是第一次格式化保存的clusterID,这样,datanode和namenode之间的ID不一致
这个是大神的解释,然后我就根据这个开始找寻以前的clusterID
首先我反复hadoop namenode -format,导致后来jps的时候发现少了一个datanode,还有第二种方法是删除临时目录文件
第一种方法
1.查找日志
我是centos7 ,应该查找到我安装hadoop的目录下的日志,我安装在了soft下面,所以进入日志路径
cd /soft/hadoop/logs
解决启动hadoop时datanode无法启动_第1张图片
查看第一个文件的日志
cat hadoop-centos-datanode-localhost.localdomain.log
从日志中查找clusterID,发现如下
复制namenode的clusterID
复制namenode的clusterID到笔记本上备用
2.查找datanode的version文件
从日志里面也能看出来路径是/tmp/hadoop-centos/dfs/data
cd /tmp/hadoop-centos/dfs/data/current
解决启动hadoop时datanode无法启动_第2张图片
3.编辑VERSION文件
vi VERSION
把之前粘贴的namenode的clusterid 替换到此clusterid上面
解决启动hadoop时datanode无法启动_第3张图片
4.至此namenode与datanode的 clusterID,已经一致,直接start-all.sh
jps查看,大功告成
解决启动hadoop时datanode无法启动_第4张图片
第二种方法
1.进入\tmp目录,然后删除关于hadoop相关的文件
$>cd /tmp
$>rm -rf hadoop-centos
2.如果已经启动了集群,就把集群相关的文件也删除
$>ssh s202 rm -rf /tmp/hadoop-centos
$>ssh s203 rm -rf /tmp/hadoop-centos
$>ssh s204 rm -rf /tmp/hadoop-centos
3. 格式化文件系统
$>hadoop namenode -format

4.启动hadoop进程
$>start-all.sh

你可能感兴趣的:(LINUX,hadoop,centos7,hadoop,centos)