温馨提示×

CentOS下HDFS怎样配置

小樊
52
2026-07-09 17:49:58
栏目: 智能运维

下面分 “单机伪分布式” 和 “完全分布式” 两种常见场景,系统以 CentOS 7/8 为例,说明 HDFS 的基本配置流程。假设你已经安装好 JDK 和 Hadoop。


一、前置条件

1. 安装 JDK

java -version

推荐 JDK 8(Hadoop 2.x/3.x 常用)

2. 创建 Hadoop 用户(可选但推荐)

useradd hadoop
passwd hadoop
su - hadoop

3. 配置主机名和 hosts

hostnamectl set-hostname master

/etc/hosts 示例:

192.168.1.10 master
192.168.1.11 slave1
192.168.1.12 slave2

二、Hadoop 环境变量

编辑 ~/.bashrc 或 /etc/profile:

export HADOOP_HOME=/opt/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
export JAVA_HOME=/usr/lib/jvm/java-1.8.0

生效:

source ~/.bashrc

三、HDFS 核心配置文件

Hadoop 配置文件位于:

$HADOOP_HOME/etc/hadoop/

1. core-site.xml

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

    <property>
        <name>hadoop.tmp.dir</name>
        <value>/data/hadoop/tmp</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>

✅ 完全分布式(多节点)

<configuration>
    <property>
        <name>dfs.replication</name>
        <value>3</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>

    <property>
        <name>dfs.namenode.http-address</name>
        <value>master:9870</value>
    </property>
</configuration>

3. workers(Hadoop 3.x)

vim $HADOOP_HOME/etc/hadoop/workers

内容:

master
slave1
slave2

Hadoop 2.x 文件名是 slaves


4. hadoop-env.sh

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

四、SSH 免密登录(必须)

ssh-keygen -t rsa
ssh-copy-id master
ssh-copy-id slave1
ssh-copy-id slave2

测试:

ssh slave1

五、格式化 HDFS(仅第一次)

⚠️ 只能执行一次

hdfs namenode -format

六、启动 HDFS

start-dfs.sh

检查进程:

jps

应看到:

  • NameNode
  • DataNode
  • SecondaryNameNode

七、验证 HDFS

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

Web UI:

http://master:9870

八、常见问题(CentOS)

1. 防火墙

systemctl stop firewalld
systemctl disable firewalld

2. SELinux

setenforce 0

或修改:

vim /etc/selinux/config
SELINUX=disabled

3. 权限问题

chown -R hadoop:hadoop /data/hadoop

九、总结

项目 说明
核心配置 core-site.xml、hdfs-site.xml
节点配置 workers
启动命令 start-dfs.sh
默认端口 9870(Web)、9000(HDFS)

如果你需要:

  • Hadoop 3.x 完整集群
  • HA(高可用)HDFS
  • CentOS + Hadoop + YARN
  • 生产环境参数优化

可以直接告诉我你的 Hadoop 版本和节点数量。

0 踩