温馨提示×

centos hdfs如何启动

小樊
51
2026-07-09 18:33:39
栏目: 智能运维

CentOS 上启动 HDFS,通常取决于你是 单机伪分布式 还是 完全分布式集群。下面以 Hadoop 伪分布式(最常见) 为例,给出完整流程和常见注意点。


一、前置条件检查

1. 确认 Hadoop 已安装

hadoop version

能看到版本信息说明安装正常。

2. 确认 JAVA_HOME

echo $JAVA_HOME
java -version

Hadoop 依赖 Java,若未设置,可在:

vi $HADOOP_HOME/etc/hadoop/hadoop-env.sh

中添加:

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

二、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>
</configuration>

三、启动 HDFS 步骤(重点)

1. 格式化 NameNode(仅第一次执行

hdfs namenode -format

⚠️ 不要重复执行,否则会导致数据丢失。


2. 启动 HDFS

$HADOOP_HOME/sbin/start-dfs.sh

或使用完整路径:

/usr/local/hadoop/sbin/start-dfs.sh

四、验证 HDFS 是否启动成功

1. 查看进程

jps

应至少看到:

NameNode
DataNode
SecondaryNameNode

2. 访问 Web UI

在浏览器中访问:

http://CentOS_IP:9870

(Hadoop 3.x)

http://CentOS_IP:50070

(Hadoop 2.x)


3. 测试 HDFS 命令

hdfs dfs -ls /
hdfs dfs -mkdir /test
hdfs dfs -put test.txt /test

五、停止 HDFS

$HADOOP_HOME/sbin/stop-dfs.sh

六、常见问题排查

1. SSH 无法免密登录

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

2. 端口被占用 / 启动失败

查看日志:

$HADOOP_HOME/logs/

3. CentOS 防火墙

systemctl status firewalld
systemctl stop firewalld
systemctl disable firewalld

七、完全分布式启动(简单说明)

完全分布式 中:

$HADOOP_HOME/sbin/start-dfs.sh

会在:

  • NameNode 所在机器启动 NameNode
  • workers 文件中配置的机器启动 DataNode

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

  • ✅ Hadoop 版本(2.x / 3.x)
  • ✅ 是否伪分布式 / 完全分布式
  • ✅ 报错信息

我可以直接按你的环境给你精简方案。

0