HDFS集群启动后,DataNode节点没有挂载上
2021/11/19 11:10:02
本文主要是介绍HDFS集群启动后,DataNode节点没有挂载上,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
排错过程
安装Impala后,删除掉Impala依赖的Hadoop、Hive等框架后,还是启动自己之前部署的Hadoop、Hive,没有报错,但是通过WEb界面查看,发现集群处于安全模式,然后所有的DataNode节点都没有挂载上(这时候没有注意到DataNode节点没有挂载上)。。。
Security is off. Safe mode is ON. The reported blocks 0 needs additional 539 blocks to reach the threshold 0.9990 of total blocks 540. The number of live datanodes 0 has reached the minimum number 0. Safe mode will be turned off automatically once the thresholds have been reached. 794 files and directories, 540 blocks = 1,334 total filesystem object(s). Heap Memory used 121.02 MB of 200 MB Heap Memory. Max Heap Memory is 889 MB. Non Heap Memory used 51.64 MB of 52.5 MB Commited Non Heap Memory. Max Non Heap Memory is <unbounded>.
手动关闭集群安全模式,发现所有的数据都丢失了(还没有意识到是DataNode节点没有启动的问题),按照数据块损坏在搜索引擎搜索相关资料,大部分都是列出受损的块,数据不重要的话直接删掉,按照这种思路,所有的数据都要被删掉。。。。
这时候,想到是不是操作系统的问题,然后把集群关闭(stop-dfs.sh;stop-yarn.sh;这时候要是注意一下stop-dfs.sh执行输出日志, no datanode to stop
就可以少走一下弯路,不用重启操作系统了。。。),集群上的每一台CentOS都重启了一下,然后启动集群,执行了一下JPS,发现有的进程显示不全,
631 Jps 3135 -- process information unavailable 2978 -- process information unavailable
然后去/tmp目录下,执行了一下rm -rf hsperfdata_*
,
再次启动集群,执行jps发现,没有发现DataNode进程(终于回到正轨了),然后单独启动DataNode进程(hadoop-daemon.sh start datanode)执行jps也是没有DataNode进程,这时候想到了看一下DataNode的日志文件$HADOOP_HOME/logs/hadoop-root-datanode-节点ip.log
,是.log文件,不要看.out文件,看到日志文件,还是不太清楚是什么原因,然后把这一坨报错放到搜索引擎上面,突然明白怎么回事了。。。是之前配置Impala短路读取的锅,没有创建对应的目录。。。
2021-11-19 10:09:56,767 INFO org.apache.hadoop.util.ExitUtil: Exiting with status 1: java.io.IOException: failed to stat a path component: '/var/lib/hadoop-hdfs' in '/var/lib/hadoop-hdfs/dn_socket'. error code 2 (No such file or directory). Ensure that the path is configured correctly. 2021-11-19 10:09:56,772 INFO org.apache.hadoop.hdfs.server.datanode.DataNode: SHUTDOWN_MSG: /************************************************************ SHUTDOWN_MSG: Shutting down DataNode at linux121/192.168.80.121 ************************************************************/
解决方案
在节点上都创建一下/var/lib/hadoop-hdfs/这个路径,但是不要创建dn_socket路径(该路径是集群启动时自动创建,手动创建会报错)
然后手动在所有节点启动一下DataNode进程(hadoop-daemon.sh start datanode),之后执行jps,发现DataNode启动,Nice。
在Web界面查看DataNode已经成功挂载
这篇关于HDFS集群启动后,DataNode节点没有挂载上的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2025-01-07如何利用看板工具优化品牌内容创作与审批,确保按时发布?
- 2025-01-07百万架构师第十一课:源码分析:Spring 源码分析:Spring源码分析前篇|JavaGuide
- 2025-01-07质量检测标准严苛,这 6 款办公软件达标了吗?
- 2025-01-07提升品牌活动管理的效率:看板工具助力品牌活动日历的可视化管理
- 2025-01-07宠物商场的精准营销秘籍:揭秘看板软件的力量
- 2025-01-07“30了,资深骑手” | 程序员能有什么好出路?
- 2025-01-07宠物公园的营销秘籍:看板软件如何帮你精准触达目标客户?
- 2025-01-07从任务分解到资源优化:甘特图工具全解析
- 2025-01-07企业升级必备指南:从传统办公软件到SaaS工具的转型攻略
- 2025-01-07一文告诉你IT项目管理如何做到高效