温馨提示×

centos里hdfs怎么启动

小樊
39
2026-09-06 12:49:50
栏目: 智能运维

在 CentOS 上启动 HDFS,通常取决于你是 单机伪分布式 还是 集群环境,以及是否用 Hadoop 自带的脚本。下面给你最常用、最标准的做法。


一、前提条件(必须)

  1. 已安装 JDK(推荐 JDK 8)
java -version
  1. 已配置 HADOOP_HOME
echo $HADOOP_HOME
# 例如 /opt/hadoop
  1. 已配置 SSH 免密(NameNode 启动 DataNode 需要)
ssh localhost

如果不通:

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

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

⚠️ 只做一次

hdfs namenode -format

三、启动 HDFS(最常用方式)

1️⃣ 一键启动(推荐)

start-dfs.sh

启动后进程应有:

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

2️⃣ 分开启动(可选)

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

四、检查 HDFS 是否启动成功

方法 1:看进程

jps

应看到:

NameNode
DataNode
SecondaryNameNode

方法 2:Web 页面

http://localhost:9870

(Hadoop 3.x) 如果是 2.x:

http://localhost:50070

五、停止 HDFS

stop-dfs.sh

六、常见问题(CentOS 特有)

1️⃣ 防火墙没关导致 Web 打不开

systemctl stop firewalld
systemctl disable firewalld

2️⃣ SELinux 影响

setenforce 0

或修改:

vi /etc/selinux/config
SELINUX=disabled

3️⃣ 权限问题

不要用 root 启动 Hadoop(建议新建用户):

useradd hadoop
su - hadoop

七、伪分布式最简配置(示例)

etc/hadoop/core-site.xml

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

etc/hadoop/hdfs-site.xml

<property>
  <name>dfs.replication</name>
  <value>1</value>
</property>

如果你愿意,可以告诉我:

  • Hadoop 版本(2.x / 3.x)
  • 是否集群
  • 报错信息

我可以直接帮你定位问题。

0 踩