hadoop启动之后缺少datanode、namenode、resourcemanager等进程解决办法

2020年06月07日 403点热度 3人点赞 0条评论

搭建的hadoop2.7.7集群,在启动之后,通过jps会发现有缺少进程的情况。

有的会是缺少datanode,有的会缺少namenode,还有的会缺少resoucemanager。

在网上有很多种说法,究其根本无非就那么几个原因:

1、多次格式化造成clusterID不一致导致启动失败

2、yarn-site、core-site、hdfs-site、mapred-site四个配置文件没有配置正确

3、firewall(iptables)、selinux没有关闭

4、启动hadoop集群之前没有格式化集群

(注-1:hadoop集群没有特殊情况下,只格式化一次即可)

(注-2:在哪台节点上格式化,哪台节点就是主节点)

 

多次格式化造成的进程启动不起来

解决方法-1:

  1. 关闭hadoop集群,进入到主节点hadoop的目录中
  2. 执行命令:find ./ -name VERSION
  3. 返回:./dfs/name/current/VERSION
  4. vim     ./dfs/name/current/VERSION
  5. 复制:clusterID=CID-6de758ec-871a-40d0-be6d-80cc8a0948a2  这一行
  6. 进入子节点,重复第2步,返回:./dfs/data/current/VERSION
  7. vim   ./dfs/data/current/VERSION
  8. 将第五步复制的clusterID替换子节点中的clusterID,每个子节点都替换
  9. 替换完成,重启hadoop

解决方法-2:hadoop集群重新格式化详细步骤

如果以上方法均没有解决缺少进程的问题

1、关闭集群

2、删除每个节点中hadoop目录下logs中日志文件

3、启动集群

4、假设你的slave1节点缺少datanode进程,那么就登录到slave1节点中,进入到hadoop的logs目录,

查看hadoop-root-datanode-slave1.log文件

示例如下:

[root@slave1 logs]# pwd
/usr/local/src/hadoop-2.7.7/logs
[root@slave1 logs]# ll
总用量 516
-rw-r--r-- 1 root root 189242 6月 6 22:36 hadoop-root-datanode-slave1.log
-rw-r--r-- 1 root root 714 6月 2 06:03 hadoop-root-datanode-slave1.out
-rw-r--r-- 1 root root 714 5月 12 21:55 hadoop-root-datanode-slave1.out.1
-rw-r--r-- 1 root root 714 4月 30 00:54 hadoop-root-datanode-slave1.out.2
-rw-r--r-- 1 root root 0 4月 30 00:54 SecurityAuth-root.audit
drwxr-xr-x 2 root root 6 6月 6 22:36 userlogs
-rw-r--r-- 1 root root 308877 6月 6 22:37 yarn-root-nodemanager-slave1.log
-rw-r--r-- 1 root root 1571 6月 2 06:04 yarn-root-nodemanager-slave1.out
-rw-r--r-- 1 root root 1571 5月 12 21:56 yarn-root-nodemanager-slave1.out.1
-rw-r--r-- 1 root root 1578 4月 30 00:55 yarn-root-nodemanager-slave1.out.2
[root@slave1 logs]# cat hadoop-root-datanode-slave1.log | grep -E 'error|failed'

 

阿布

源自灵魂深处的自我救赎。

文章评论