温馨提示×

CentOS如何启动HDFS

小樊
42
2026-07-09 18:01:40
栏目: 智能运维

CentOS 上启动 HDFS,通常是以 Hadoop 集群 的方式运行。下面按 最常见场景(Hadoop 伪分布式或完全分布式) 给你一个完整、可操作的启动流程。


一、前提条件(请先确认)

1. 已安装 Hadoop

确认 Hadoop 已安装,例如:

$HADOOP_HOME
# 常见路径
/usr/local/hadoop
/opt/hadoop

检查版本:

hadoop version

2. 已配置 SSH 免密登录(必须)

Hadoop 启动脚本依赖 SSH。

ssh localhost

如果不能免密登录,执行:

ssh-keygen -t rsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys

3. JDK 已安装

java -version

Hadoop 3.x 推荐 JDK 8 或 11。


二、核心配置文件(关键)

路径一般在:

$HADOOP_HOME/etc/hadoop/

1. core-site.xml

<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://localhost:9000</value>
    </property>
</configuration>

2. hdfs-site.xml

<configuration>
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
    <property>
        <name>dfs.namenode.name.dir</name>
        <value>/data/hadoop/namenode</value>
    </property>
    <property>
        <name>dfs.datanode.data.dir</name>
        <value>/data/hadoop/datanode</value>
    </property>
</configuration>

目录需要提前创建:

mkdir -p /data/hadoop/namenode
mkdir -p /data/hadoop/datanode

3. hadoop-env.sh

确认 JAVA_HOME:

export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk

三、首次启动 HDFS(必须格式化)

只在第一次执行一次!

hdfs namenode -format

看到类似 successfully formatted 即成功。


四、启动 HDFS

方式一(推荐):一键启动

start-dfs.sh

方式二:单独启动

hadoop-daemon.sh start namenode
hadoop-daemon.sh start datanode

(Hadoop 3.x 使用 hdfs --daemon start


五、验证 HDFS 是否启动成功

1. 查看进程

jps

应至少看到:

  • NameNode
  • DataNode
  • SecondaryNameNode(伪分布式)

2. 访问 Web UI

  • NameNode UI:
http://localhost:9870

(Hadoop 2.x 是 50070,3.x 是 9870)


3. 测试 HDFS 命令

hdfs dfs -ls /
hdfs dfs -mkdir /test
hdfs dfs -put /etc/hosts /test
hdfs dfs -ls /test

六、停止 HDFS

stop-dfs.sh

七、常见问题排查

1. 启动后没有 DataNode

  • 多次格式化 NameNode
  • 解决方法:
rm -rf /data/hadoop/datanode/*
hdfs namenode -format
start-dfs.sh

2. 端口被占用

netstat -tunlp | grep 9000

3. 防火墙未关闭(CentOS 7/8)

systemctl stop firewalld
systemctl disable firewalld

八、总结(最简流程)

# 1. 格式化
hdfs namenode -format

# 2. 启动
start-dfs.sh

# 3. 验证
jps
hdfs dfs -ls /

如果你愿意,我可以:

  • ✅ 按 CentOS 7 / 8 + Hadoop 3.x 给你精确到每一步的命令
  • ✅ 帮你排查 DataNode 无法启动 的问题
  • ✅ 给你 生产级 HDFS 配置模板

直接告诉我你的 Hadoop 版本和 CentOS 版本 即可。

0