温馨提示×

centos中hdfs怎么配置

小樊
48
2026-09-24 16:39:28
栏目: 智能运维

下面给你一份**在 CentOS 上配置 HDFS(Hadoop 分布式文件系统)**的实用指南,适用于 单节点(伪分布式) 和 多节点集群 的常见场景。


一、环境准备(所有节点)

1. 系统要求

  • CentOS 7 / 8
  • JDK 8 或 JDK 11(推荐 JDK 8)
  • 已配置主机名和 hosts
hostnamectl set-hostname master

编辑 /etc/hosts:

192.168.1.10 master
192.168.1.11 slave1
192.168.1.12 slave2

2. 安装 JDK

yum install java-1.8.0-openjdk-devel -y

确认:

java -version

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

useradd hadoop
passwd hadoop

后续操作建议在 hadoop 用户下完成。


三、下载并安装 Hadoop

wget https://downloads.apache.org/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

四、配置环境变量

编辑 ~/.bashrc:

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

生效:

source ~/.bashrc

五、HDFS 核心配置文件

配置文件路径:

cd $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>/opt/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>/opt/hadoop/dfs/name</value>
  </property>
  <property>
    <name>dfs.datanode.data.dir</name>
    <value>/opt/hadoop/dfs/data</value>
  </property>
</configuration>

集群模式(3 节点):

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

3. workers(旧版 slaves)

master
slave1
slave2

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 master

七、格式化 NameNode

⚠️ 只在 master 执行一次

hdfs namenode -format

八、启动 HDFS

start-dfs.sh

检查进程:

jps

应看到:

  • NameNode
  • DataNode
  • SecondaryNameNode

九、验证 HDFS

hdfs dfs -mkdir /test
hdfs dfs -put /etc/hosts /test
hdfs dfs -ls /test

Web 界面:

http://master:9870

十、常见问题

1. DataNode 启动失败

  • 删除 dfs/data 后重新格式化
  • 确保 dfs.datanode.data.dir 权限正确

2. Permission denied

chown -R hadoop:hadoop /opt/hadoop

3. 防火墙

systemctl stop firewalld
systemctl disable firewalld

如果你需要:

  • 完全分布式配置示例
  • HDFS + YARN
  • CentOS 7 一键脚本
  • 生产环境参数优化

直接告诉我你的使用场景即可。

0 踩