执行start-dfs.sh无法启动HDFS节点 日志报SIGTERM、SIGHUP错误
HDFS启动无进程、日志报SIGTERM/SIGHUP错误解决方案
- 首先修正配置文件错误与缺失项:
- 修复
yarn-site.xml语法错误,你当前贴出的配置缺失<property>开头标签,修正后完整配置如下:
<property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property>- 补充
hdfs-site.xml存储路径配置,缺失该项会导致节点启动时找不到存储目录直接崩溃,配置示例如下(路径可替换为你自定义的存储目录):
配置完成后执行命令创建对应目录,确保目录权限归属当前启动Hadoop的用户:<!-- 已有dfs.replication配置保留,新增以下两个配置项 --> <property> <name>dfs.namenode.name.dir</name> <value>file:///home/你的用户名/hadoop/dfs/name</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>file:///home/你的用户名/hadoop/dfs/data</value> </property>mkdir -p ~/hadoop/dfs/name ~/hadoop/dfs/data - 修复
- 按正确流程重置并启动服务:
- 执行
stop-all.sh终止所有残留Hadoop进程 - 清空历史存储数据,避免clusterID不匹配问题:
rm -rf ~/hadoop/dfs/name/* ~/hadoop/dfs/data/*- 重新格式化NameNode:
hdfs namenode -format - 启动HDFS与YARN服务:
start-dfs.sh && start-yarn.sh
- 执行
- 排查验证:
执行jps查看进程,正常应返回NameNode、DataNode、SecondaryNameNode、ResourceManager、NodeManager五个核心进程。如果仍启动失败,可手动执行hdfs namenode命令直接启动NameNode,终端会实时打印启动报错信息,可快速定位问题根源。 - 额外排查项:
执行lsof -i:9000检查9000端口是否被其他服务占用,若存在占用可终止占用进程,或修改core-site.xml中fs.defaultFS的端口参数。
内容的提问来源于stack exchange,提问作者eicc
相关产品推荐
相关产品推荐

