这段时间自己的操作系统从windows完全换为Deepin Linux.主要是想感受下国产操作系统.经过一段时间的使用,感觉确实不错.可是要想让完全不懂Linux的用户来使用,光是文件管理就可以让绝大多数人奔溃啦。好了言归正传。我使用Deepin Linux搭建了Hadoop3.2.但是在启动的过程中无法打开50070端口.有重新Format之后,发现NameNode无法启动.
1、问题产生原因
当我们执行文件系统格式化时,会在namenode数据文件夹(即配置文件中dfs.namenode.name.dir在本地系统的路径)中保存一个current/VERSION文件,记录clusterID,标识了所格式化的 namenode的版本。如果我们频繁的格式化namenode,那么datanode中保存(即配置文件中dfs.data.dir在本地系统的路径)的current/VERSION文件只是你第一次格式化时保存的namenode的ID,因此就会造成datanode与namenode之间的 id 不一致。
2 解决办法
删除HDFS上的原有数据,重新Format.
gosaint@gosaint:/usr/local/hadoop$ jps
Picked up _JAVA_OPTIONS: -Dawt.useSystemAAFontSettings=gasp
9976 SecondaryNameNode
10153 Jps
9627 NameNode
=====发现没有DataNode
gosaint@gosaint:/usr/local/hadoop$ ./sbin/stop-dfs.sh
Stopping namenodes on [192.168.1.175]
Stopping datanodes
Stopping secondary namenodes [account.jetbrains.com]
Picked up _JAVA_OPTIONS: -Dawt.useSystemAAFontSettings=gasp
====停止NameNode以及DataNode
==== 删除tmp文件夹
gosaint@gosaint:/usr/local/hadoop$ rm -rf ./tmp
==== 重新Format
gosaint@gosaint:/usr/local/hadoop$ ./bin/hdfs namenode -format
==== 启动NameNode\DataNode
gosaint@gosaint:/usr/local/hadoop$ ./sbin/start-dfs.sh
Starting namenodes on [192.168.1.175]
Starting datanodes
Starting secondary namenodes [account.jetbrains.com]
Picked up _JAVA_OPTIONS: -Dawt.useSystemAAFontSettings=gasp
==== 查看进程
gosaint@gosaint:/usr/local/hadoop$ jps
Picked up _JAVA_OPTIONS: -Dawt.useSystemAAFontSettings=gasp
11419 SecondaryNameNode
11115 DataNode
11564 Jps
10974 NameNode
gosaint@gosaint:/usr/local/hadoop$ ^C
最后访问localhost:50070

本文分享了在Deepin Linux系统上搭建Hadoop3.2集群的经验,重点介绍了解决NameNode启动失败及50070端口无法打开的问题,通过重新格式化HDFS并确保NameNode与DataNode的ID一致性,最终成功启动集群。
913

被折叠的 条评论
为什么被折叠?



