温馨提示×

怎么在CentOS配置HDFS

小樊
44
2026-07-09 17:52:41
栏目: 智能运维

CentOS 上配置 HDFS(Hadoop Distributed File System),通常分为 单机伪分布式完全分布式 两种模式。下面我用 最常用、最稳妥 的方式,一步一步给你讲清楚(以 Hadoop 3.x + CentOS 7/8 为例)。


一、环境准备(CentOS)

1️⃣ 系统要求

  • CentOS 7 / 8
  • Java 8 或以上(推荐 JDK 8)
  • 普通用户(不推荐 root)

查看系统

cat /etc/centos-release

2️⃣ 安装 JDK

安装 OpenJDK

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

验证

java -version

设置 JAVA_HOME

echo "export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk" >> ~/.bashrc
echo "export PATH=\$JAVA_HOME/bin:\$PATH" >> ~/.bashrc
source ~/.bashrc

二、创建 Hadoop 用户(推荐)

sudo useradd hadoop
sudo passwd hadoop
su - hadoop

三、下载并安装 Hadoop

1️⃣ 下载 Hadoop

wget https://downloads.apache.org/hadoop/common/hadoop-3.3.6/hadoop-3.3.6.tar.gz

2️⃣ 解压

tar -zxvf hadoop-3.3.6.tar.gz
mv hadoop-3.3.6 hadoop

3️⃣ 配置环境变量

vi ~/.bashrc

添加:

export HADOOP_HOME=~/hadoop
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH

生效:

source ~/.bashrc

验证:

hadoop version

四、配置 SSH 免密登录(伪分布式必选)

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

测试:

ssh localhost

五、HDFS 核心配置(重点)

以下配置文件均在:

cd $HADOOP_HOME/etc/hadoop

1️⃣ hadoop-env.sh

vi hadoop-env.sh

添加:

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

2️⃣ core-site.xml

vi core-site.xml
<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://localhost:9000</value>
    </property>
</configuration>

3️⃣ hdfs-site.xml

vi hdfs-site.xml
<configuration>
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>

    <property>
        <name>dfs.namenode.name.dir</name>
        <value>/home/hadoop/hadoop_data/namenode</value>
    </property>

    <property>
        <name>dfs.datanode.data.dir</name>
        <value>/home/hadoop/hadoop_data/datanode</value>
    </property>
</configuration>

伪分布式 data replication 设为 1


4️⃣ workers(Hadoop 3.x)

vi workers

内容:

localhost

六、格式化 HDFS(只做一次)

hdfs namenode -format

✅ 看到 successfully formatted 才算成功


七、启动 HDFS

start-dfs.sh

查看进程:

jps

应看到:

  • NameNode
  • DataNode
  • SecondaryNameNode

八、验证 HDFS

1️⃣ 访问 Web UI

http://服务器IP:9870

2️⃣ HDFS 基本操作

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

九、关闭 HDFS

stop-dfs.sh

十、常见问题排查

❌ JAVA_HOME 未设置

echo $JAVA_HOME

❌ 端口被占用

netstat -tunlp | grep 9000

❌ 权限问题

chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys

十一、下一步你可以做什么?

✅ 搭建 YARN(MapReduce)
✅ 配置 完全分布式 HDFS
✅ 对接 Hive / Spark / Flink
✅ 配置 高可用 HDFS(HA)


如果你愿意,我可以:

  • ✅ 给你 可复制的一键脚本
  • ✅ 帮你配置 多节点 HDFS
  • ✅ 指导 生产环境参数优化

你现在是 学习 / 测试 / 生产 环境?

0