温馨提示×

centos为啥卡在hdfs

小樊
38
2026-10-12 06:11:21
栏目: 智能运维

“CentOS 卡在 HDFS”这个说法通常不是 CentOS 本身卡住,而是 CentOS 上运行的 HDFS(Hadoop 分布式文件系统)相关进程或服务在启动 / 使用中卡住。下面按常见原因 + 排查思路给你说明。


一、最常见的几种“卡在 HDFS”场景

1. NameNode 启动卡住(最常见)

表现:

  • start-dfs.sh 后一直不动
  • 日志停在 Loading fsimage / Safe mode

原因:

  • 第一次启动没格式化
    hdfs namenode -format
    
  • fsimage / edits 损坏
  • 磁盘满或 IO 卡死(CentOS 层面)

排查:

df -h
iostat -x 1
tail -f $HADOOP_HOME/logs/hadoop-*-namenode-*.log

2. 卡在 Safe Mode(安全模式)

NameNode is in safe mode

原因:

  • 数据块未达最小副本数
  • 刚启动,正在汇报块

解决:

hdfs dfsadmin -safemode get
hdfs dfsadmin -safemode leave

3. CentOS 网络问题导致 HDFS 卡死

HDFS 极度依赖 hostname + DNS + 防火墙

常见问题:

  • /etc/hosts 配置错误
  • 防火墙没关
  • hostname 解析不一致

检查:

hostname
hostname -f
ping $(hostname)
systemctl status firewalld

建议:

systemctl stop firewalld
systemctl disable firewalld

4. SSH 免密没配置(start-dfs 卡住)

如果你用:

start-dfs.sh

但 slave 节点 SSH 连不上,会一直卡。

检查:

ssh slave1

解决:

ssh-keygen
ssh-copy-id slave1

5. Java / 内存问题

  • Java 版本不兼容
  • NameNode 内存不够,直接卡死

检查:

java -version
free -h

二、快速自查清单(照着做)

# 1. 磁盘
df -h

# 2. 内存
free -h

# 3. 防火墙
systemctl stop firewalld

# 4. hosts
cat /etc/hosts

# 5. 日志(最关键)
tail -100 $HADOOP_HOME/logs/hadoop-*-namenode-*.log
tail -100 $HADOOP_HOME/logs/hadoop-*-datanode-*.log

三、如果你能补充这些信息,我能精准定位

请告诉我:

  1. 卡在哪个命令?(start-dfs / hdfs dfs / 启动界面)
  2. 单节点还是集群?
  3. 日志最后几行是什么?
  4. CentOS 版本 + Hadoop 版本

我可以直接帮你“对着日志看是哪一行卡住的”。

0 踩