Hadoop集群当中主节点的NameNode进程启动不成功

原因:是因为多次格式化NameNode的原因,每次格式化NameNode的时候,hadoop集群就会产生一个新的集群ID,导致了NameNode和DataNode的集群ID不一致,所以导致运行start-all.sh后,hadoop的NameNode进程启动不起来。

现在作者附上两种解决方法,我是使用了第二种方法成功的。

第一种解决方案:

在hadoop集群当中的所有节点将中的tmp文件删除和logs文件里面的内容删除里面的的内容,然后重新初始化NameNode。

hdfs NameNode -format

在core-site.xml文件里面查看自己tmp文件的位置:

Hadoop集群当中主节点的NameNode进程启动不成功_第1张图片

hadoop路径下etc/hadoop路径下面,每个人hadoop安装的路径可能不同,我的是
/home/hadoop/software/hadoop-3.3.0/etc/hadoop

Hadoop集群当中主节点的NameNode进程启动不成功_第2张图片

就可以了,如果这不行的话,就使用第二种解决方法,这个是能得吃的。

第二种解决方案:

将主节点的hadoop的包删掉,从从节点将hadoop的包用scp传输过去,因为集群当中的hadoop的包里面的内容都是一样的。

scp -r hadoop-3.3.0/ [email protected]:/home/hadoop/software

前面的目录是自己从节点的hadoop包,然后后面的目录是要传输到主节点的目录。

注意:传输好之后一定要将hadoop的tmp文件里面的内容清除过后再进行格式化NameNode。并且之前一定即使NameNode没有启动,也要将hadoop集群关闭,如果使用第二个方案的话,那么之前hdfs里面的数据将会清空。

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