温馨提示×

centos怎么恢复hdfs

小樊
36
2026-09-09 11:02:51
栏目: 智能运维

CentOS 上“恢复 HDFS”通常指以下几种情况之一,我先按常见场景给你说明,你可以对号入座:


一、HDFS 服务挂了,想重新启动(最常见)

1. 确认 Hadoop 安装方式

  • 手动安装(如 /opt/hadoop
  • CDH / HDP / Ambari
  • Docker / K8s

下面以 手动安装 为例。

2. 启动 HDFS

# 进入 hadoop 用户
su - hdfs
# 或
su - hadoop

# 启动 NameNode + DataNode
$HADOOP_HOME/sbin/start-dfs.sh

如果是 HA 模式

$HADOOP_HOME/sbin/start-dfs.sh
# 或分别启动
hadoop-daemon.sh start namenode
hadoop-daemon.sh start datanode
hadoop-daemon.sh start zkfc

3. 检查状态

hdfs dfsadmin -report
jps

应看到:

  • NameNode
  • DataNode
  • SecondaryNameNode(非 HA)

二、NameNode 元数据损坏,需要恢复

情况 A:有 SecondaryNameNode / Checkpoint

# 停止 HDFS
stop-dfs.sh

# 恢复元数据
cp -r $HADOOP_HOME/tmp/dfs/namesecondary/* \
      $HADOOP_HOME/tmp/dfs/name/

# 启动
start-dfs.sh

情况 B:有 fsimage + edits 备份

hdfs namenode -importCheckpoint

三、DataNode 丢失,重新加入集群

1. 清空 DataNode 数据(谨慎)

rm -rf /dfs/data/*

2. 启动 DataNode

hadoop-daemon.sh start datanode

3. 等 HDFS 自动恢复副本

hdfs fsck / -blocks

四、误删文件,想恢复(HDFS 回收站)

hdfs dfs -ls /user/root/.Trash
hdfs dfs -mv /user/root/.Trash/xxx /目标路径

前提:未禁用 fs.trash.interval


五、整个 HDFS 崩溃,只能从备份恢复

如果你有:

  • NameNode 元数据备份
  • 数据磁盘备份

恢复顺序:

  1. 恢复 NameNode
  2. 启动 HDFS
  3. 让 DataNode 重新注册
  4. hdfs balancer 平衡数据

六、如果你用的是 CDH / Ambari

  • CDH:Cloudera Manager → HDFS → Actions → Start / Restart
  • Ambari:Services → HDFS → Start

七、请补充信息,我可以精确帮你

你可以告诉我:

  1. HDFS 是 单机 / 集群 / HA
  2. 服务起不来 还是 数据丢失
  3. 报错日志(/var/log/hadoop-hdfs/
  4. Hadoop 版本(2.x / 3.x)

我可以一步一步帮你恢复 ✅

0