【问题解决】Hadoop集群启动后执行JPS没有DataNode或NameNode

引言

最近在尝试在搭建Hadoop集群并测试集群是否搭建成功,但是第一次格式化NameNode并启动HDFS和YARN时发现一会儿有DataNode或者NameNode但是后面就没有了,二者没有同时存在,也尝试过停止进程再重新启动都没有解决掉该问题。

相关命令

集群第一次启动,格式化NameNode

bin/hdfs namenode -format

启动HDFS

sbin/start-dfs.sh

停止HDFS

sbin/stop-dfs.sh

启动YARN

sbin/start-yarn.sh

停止YARN

sbin/stop-yarn.sh

启动历史服务器

sbin/mr-jobhistory-daemon.sh start historyserver

停止所有进程

sbin/stop-all.sh

删除文件

rm 文件名

删除文件夹及文件

rm -rf 文件夹名

问题原因

可能是配置文件出错,需要检查core-site.xml 和 hdfs-site.xml这俩文件;
可能是多次格式化NameNode,但是格式之前并没有停止之前的进程并删除相关数据。

解决方式

(1)需要检查core-site.xml 和 hdfs-site.xml;
(2)重新格式化:先停止上次启动的所有namenode和datanode进程,然后再删除data和log数据。(具体删除方式见下面截图,亲测有效!)

  1. 删除dfs文件夹里的文件
    路径:/opt/module/hadoop-2.7.2/data/tmp/dfs
    【问题解决】Hadoop集群启动后执行JPS没有DataNode或NameNode_第1张图片
  2. 删除nm-local-dir文件夹
    路径:/opt/module/hadoop-2.7.2/data/tmp
    【问题解决】Hadoop集群启动后执行JPS没有DataNode或NameNode_第2张图片
  3. 删除logs文件夹里的所有文件和文件夹
    路径:/opt/module/hadoop-2.7.2/logs【问题解决】Hadoop集群启动后执行JPS没有DataNode或NameNode_第3张图片
    需要在每一个集群结点上执行上述删除操作
    删除操作后,就可以重新执行格式化NameNode操作。

测试结果

节点1(NameNode):
【问题解决】Hadoop集群启动后执行JPS没有DataNode或NameNode_第4张图片
节点2:
【问题解决】Hadoop集群启动后执行JPS没有DataNode或NameNode_第5张图片
节点3:
【问题解决】Hadoop集群启动后执行JPS没有DataNode或NameNode_第6张图片

注意

如果集群是第一次启动,需要格式化NameNode,执行一次format就行了(注意格式化之前或者重新格式化,一定要先停止上次启动的所有namenode和datanode进程,然后再删除data和log数据),start-dfs.sh开启namenode和datanode守护进程,停止进程并退出使用stop-dfs.sh。

你可能感兴趣的:(大数据,Hadoop,遇到的Bug,hadoop,hdfs,大数据)