运行start-all.sh出现如下提示:
WARNING: Attempting to start all Apache Hadoop daemons as hadoop in 10 seconds.
WARNING: This is not a recommended production deployment configuration.
WARNING: Use CTRL-C to abort.
执行jps,会发现datanode没有运行
查看datanode日志
命令行模式下,输入/cluster,查找“cluster”,如下图,发现namenode和datanode的clusterID不同。当hdfs要开启datanode时,会检测和namenode的clusterID是否相同,不相同则无法运行。
为什么namenode和datanode的clusterID不同呢?因为在搭建伪Hadoop集群的时候,运行命令:hdfs namenode -format
进行格式化或者说初始化namenode。namenode随机产生了和datanode不一样的clusterID。
解决问题的办法就是手动修改datanode的clusterID,和namenode保持一致。首先找到配置文件hdfs-site.xml在里面找到datanode的配置路径
在路径下,进入current文件夹,vim进入VERSION
可以看到看到,图中的clusterID和data日志中相同,将clusterID改为上面日志中,namenode的clusterID,保存退出。
运行start-dfs.sh重启hdfs。运行jps:
如图,DataNode可以运行啦!