启动hdfs的时候,namenode不能启动,而secondnamenode和datanode能启动。
我hdfs的元数据节点namenode和数据节点datanode的启动命令是:start-dfs.sh,当我命令行启动完后jps发现,主节点namenode没有起来,从节点的datanode启动正常,有这个进程。
解决思路:
1.查看hadoop的logs日志:
进入 cd install/hadoop-2.8.3/logs 中,找到 hadoop-root-namenode-hdp00.log;
查看日志发现:tail -n 40 hadoop-root-namenode-hdp00.log 发现有下面的报错:
说是地址已经使用,绑定的ip或者是端口有问题,然后我就去它推荐的网址去查看到许多问题造成的原因:
上面个说最有可能的是端口被占用,也给出了决绝方案:
然后就是用 netstat -a -t --numeric-ports -p 列举出所有端口号及在使用的进程,发现果然有问题:
我的clickhouse服务进程占用9000端口,我的namenode是9000端口。
2.解决方法:我用最简单粗暴 直接杀死上面clickhouse进程 kill -9 1302,然后stop-dfs.sh 之后,再重新启动start-dfs.sh,问题得到解决。
思考:我的clickhouse集群和hadoop集群的搭建都放到相同的机子上,所以没有考虑到端口占用情况,一般的生产情况下都会分开的。