温馨提示×

centos怎样安装hdfs集群

小樊
42
2026-09-27 14:22:18
栏目: 智能运维

下面以 CentOS 7/8 为例,给你一个**从零搭建 HDFS 集群(非 HA,最简可用)**的清晰步骤。如果你需要 HA(高可用)、Kerberos、CDH/Ambari 方式,我也可以再补充。


一、环境准备

1. 节点规划(示例)

角色 主机名 IP
NameNode nn1 192.168.1.10
DataNode dn1 192.168.1.11
DataNode dn2 192.168.1.12

最低要求:1 个 NameNode + 1 个 DataNode


2. 基础环境(所有节点)

# 关闭防火墙
systemctl stop firewalld
systemctl disable firewalld

# 禁用 SELinux
setenforce 0
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config

# 配置主机名
hostnamectl set-hostname nn1   # 各节点不同

# 配置 hosts
cat >> /etc/hosts <<EOF
192.168.1.10 nn1
192.168.1.11 dn1
192.168.1.12 dn2
EOF

3. 安装 JDK(所有节点)

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

4. 创建用户(推荐)

useradd hadoop
passwd hadoop

二、安装 Hadoop

1. 下载 Hadoop(所有节点)

cd /opt
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
mv hadoop-3.3.6 hadoop
chown -R hadoop:hadoop /opt/hadoop

2. 配置环境变量

cat >> /etc/profile <<EOF
export HADOOP_HOME=/opt/hadoop
export PATH=\$PATH:\$HADOOP_HOME/bin:\$HADOOP_HOME/sbin
EOF

source /etc/profile

三、配置 HDFS(NameNode 上操作)

1. 修改 hadoop-env.sh

vi $HADOOP_HOME/etc/hadoop/hadoop-env.sh
export JAVA_HOME=/usr/lib/jvm/java-1.8.0
export HDFS_NAMENODE_USER=hadoop
export HDFS_DATANODE_USER=hadoop
export HDFS_SECONDARYNAMENODE_USER=hadoop

2. 配置 core-site.xml

vi $HADOOP_HOME/etc/hadoop/core-site.xml
<configuration>
  <property>
    <name>fs.defaultFS</name>
    <value>hdfs://nn1: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>2</value>
  </property>
  <property>
    <name>dfs.namenode.name.dir</name>
    <value>/opt/hadoop/name</value>
  </property>
  <property>
    <name>dfs.datanode.data.dir</name>
    <value>/opt/hadoop/data</value>
  </property>
</configuration>

4. 配置 workers

vi $HADOOP_HOME/etc/hadoop/workers
dn1
dn2

5. 同步配置到其他节点

scp -r /opt/hadoop dn1:/opt/
scp -r /opt/hadoop dn2:/opt/

四、启动 HDFS 集群

1. 格式化 NameNode(仅一次)

su hadoop
hdfs namenode -format

2. 启动集群

start-dfs.sh

3. 验证

jps

NameNode:

NameNode
SecondaryNameNode

DataNode:

DataNode

Web UI:

http://nn1:9870

五、简单测试

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

六、常见问题

  • 权限问题:确保目录属主是 hadoop
  • 端口不通:检查防火墙和 hosts
  • 格式化多次:会导致 clusterID 不一致,需清理 name/data 目录

如果你需要: ✅ HA 高可用 ✅ CentOS Stream / Rocky ✅ Docker 部署 ✅ 生产参数调优

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

0 踩