温馨提示×

centos配置hdfs需要啥

小樊
50
2026-07-21 12:19:42
栏目: 智能运维

CentOS 上配置 HDFS(Hadoop 分布式文件系统),通常需要满足以下几方面的条件。下面按 必备环境 → Hadoop 安装 → HDFS 配置 → 启动验证 来说明。


一、必备环境与准备

1. 操作系统

  • CentOS 7 / CentOS 8(常用 7)
  • 建议关闭防火墙或放行端口
systemctl stop firewalld
systemctl disable firewalld

2. Java 环境(必须)

Hadoop 依赖 JDK(推荐 JDK 8)

java -version

如果没有:

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

配置 JAVA_HOME

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

写入 /etc/profile~/.bashrc


3. 创建专用用户(推荐)

useradd hadoop
passwd hadoop

后续操作可用 hadoop 用户执行。


4. 配置主机名和 hosts

hostnamectl set-hostname master
vim /etc/hosts

示例:

192.168.1.10 master
192.168.1.11 slave1
192.168.1.12 slave2

5. SSH 免密登录(必须)

Hadoop 需要通过 SSH 启停服务。

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

二、Hadoop 安装

1. 下载 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
mv hadoop-3.3.6 /usr/local/hadoop

2. 配置环境变量

vim /etc/profile
export HADOOP_HOME=/usr/local/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
source /etc/profile

三、HDFS 核心配置文件

配置目录:

cd $HADOOP_HOME/etc/hadoop

1. hadoop-env.sh

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

2. core-site.xml

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

3. hdfs-site.xml

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

创建目录:

mkdir -p /data/hadoop/namenode
mkdir -p /data/hadoop/datanode
chown -R hadoop:hadoop /data/hadoop

4. workers(Hadoop 3.x)

vim workers

内容:

slave1
slave2

四、格式化并启动 HDFS

⚠ 只在 第一次 执行格式化

hdfs namenode -format

启动 HDFS:

start-dfs.sh

五、验证 HDFS 是否成功

1. 查看进程

jps

应看到:

  • NameNode
  • DataNode
  • SecondaryNameNode

2. 访问 Web UI

http://master:9870

3. 测试 HDFS 命令

hdfs dfs -mkdir /test
hdfs dfs -ls /

六、常见问题

1. 端口被占用

  • NameNode:9000
  • Web UI:9870

2. 权限问题

chown -R hadoop:hadoop /usr/local/hadoop

3. 时间不同步

yum install -y ntp
systemctl enable ntpd

七、总结:CentOS 配置 HDFS 需要什么?

✅ JDK
✅ SSH 免密
✅ Hadoop 安装包
✅ 核心配置文件(core / hdfs / workers)
✅ 正确的目录权限
✅ 关闭防火墙 / 时间同步


如果你愿意,我可以给你:

  • 单机伪分布式 HDFS 配置
  • 完全分布式(3 台 CentOS)
  • 生产环境参数优化
  • 和 YARN / Spark 一起配置

你现在是要 学习 / 测试 / 生产 用?

0