温馨提示×

如何在centos配置hdfs

小樊
46
2026-10-03 11:13:44
栏目: 智能运维

下面给你一份在 CentOS 上配置 HDFS(Hadoop 分布式文件系统)的实用指南,适合单机/伪分布式环境,也适用于后续扩展为完全分布式。


一、环境准备

1. 系统要求

  • CentOS 7 / 8(推荐 7)
  • Java 8(Hadoop 3.x 支持 Java 8/11)
  • 一个非 root 用户(如 hadoop)

2. 安装 Java

yum install -y java-1.8.0-openjdk-devel
java -version

配置 JAVA_HOME:

vi /etc/profile

添加:

export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk
export PATH=$PATH:$JAVA_HOME/bin
source /etc/profile

二、创建 Hadoop 用户(可选但推荐)

useradd hadoop
passwd hadoop
su - hadoop

三、下载并安装 Hadoop

wget https://archive.apache.org/dist/hadoop/common/hadoop-3.3.6/hadoop-3.3.6.tar.gz
tar -zxvf hadoop-3.3.6.tar.gz -C /opt
mv /opt/hadoop-3.3.6 /opt/hadoop

配置环境变量:

vi ~/.bashrc
export HADOOP_HOME=/opt/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
source ~/.bashrc

四、配置 HDFS(伪分布式)

1. 配置 hadoop-env.sh

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

添加:

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

2. 配置 core-site.xml

vi $HADOOP_HOME/etc/hadoop/core-site.xml
<configuration>
  <property>
    <name>fs.defaultFS</name>
    <value>hdfs://localhost:9000</value>
  </property>
  <property>
    <name>hadoop.tmp.dir</name>
    <value>/opt/hadoop/tmp</value>
  </property>
</configuration>

3. 配置 hdfs-site.xml

vi $HADOOP_HOME/etc/hadoop/hdfs-site.xml
<configuration>
  <property>
    <name>dfs.replication</name>
    <value>1</value>
  </property>
  <property>
    <name>dfs.namenode.name.dir</name>
    <value>/opt/hadoop/dfs/name</value>
  </property>
  <property>
    <name>dfs.datanode.data.dir</name>
    <value>/opt/hadoop/dfs/data</value>
  </property>
</configuration>

4. 配置 SSH 免密登录

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

五、格式化并启动 HDFS

1. 格式化 NameNode

hdfs namenode -format

2. 启动 HDFS

start-dfs.sh

3. 查看进程

jps

应看到:

  • NameNode
  • DataNode
  • SecondaryNameNode

六、验证 HDFS

hdfs dfs -mkdir /test
hdfs dfs -put $HADOOP_HOME/etc/hadoop/*.xml /test
hdfs dfs -ls /test

Web 界面:

http://<IP>:9870

七、关闭 HDFS

stop-dfs.sh

八、常见问题

1. 端口无法访问

firewall-cmd --add-port=9870/tcp --permanent
firewall-cmd --reload

2. 权限错误

chown -R hadoop:hadoop /opt/hadoop

如果你需要:

  • 完全分布式(多台 CentOS)
  • HDFS + YARN
  • CentOS 8 + Hadoop 3.x 特别注意点

可以继续问我。

0 踩