ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

HDFS集群启动后,DataNode节点没有挂载上

2021-11-19 10:59:09  阅读:160  来源: 互联网

标签:HDFS hadoop DataNode Heap Memory 挂载 节点 集群


排错过程

安装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,hadoop,DataNode,Heap,Memory,挂载,节点,集群
来源: https://blog.csdn.net/qq_41413743/article/details/121416847

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有