hadoop,spark的启动及DataNode无法启动的解决方法

spark集群的启动过程:

1.启动Hadoop:

①初始化:hadoop namenode -format

②启动服务:start-dfs.sh  +  start-yarn.sh   (或者直接start-all.sh)

③查看进程:jps

启动成功的话会显示6条进程,如下图所示:

2.启动spark:

Hadoop启动成功后,cd到spark目录下,执行sbin/start-all.sh,

查看进程会发现多了worker和master

 

可以通过WEB端进行查看:

namenode端口:50070 
yarn端口:8088 
spark集群端口:8080 
spark-job监控端口:4040

 

此时spark集群就启动成功了。

不过很多朋友们会经常遇到DataNode启动失败的情况,即进程中缺少DataNode。以下是我个人的解决方案:

到Hadoop目录下的/tmp/dfs可以看到两个目录:name和data,分别找到该目录下的VERSION文件,查看其clusterID,修改data中的clusterID使其与与name中的clusterID保持相同。如果相同,则datanode可正常启动。

当我们执行初始化:hadoop namenode -format时,会出现个询问,如下图,此处如果选择Y,则/tmp/dfs下name夹子会更新,进而version文件中的clusterID会发生变化,导致data文件的clusterID与name的clusterID不同,此时则无法正常启动datanode,所以提醒大家记得选N,避免不必要的麻烦。

原文地址:https://www.cnblogs.com/Janine-S/p/7444879.html