温馨提示×

centos怎么部署hdfs集群

小樊
48
2026-09-12 08:18:30
栏目: 智能运维

下面给你一个**在 CentOS 上部署 HDFS 集群(伪分布式 / 完全分布式)**的实用步骤说明,适合新手到生产前环境。


一、环境准备

1. 机器规划(示例)

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

如果是单机伪分布式,一台机器即可。


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

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

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

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

# 安装 Java
yum install -y java-1.8.0-openjdk-devel
java -version

3. 创建用户(推荐)

useradd hadoop
passwd hadoop

二、SSH 免密登录( NameNode → 所有节点)

su - hadoop
ssh-keygen -t rsa
ssh-copy-id nn1
ssh-copy-id dn1
ssh-copy-id dn2

三、安装 Hadoop

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 -C /opt
ln -s /opt/hadoop-3.3.6 /opt/hadoop

配置环境变量:

cat >> ~/.bashrc <<EOF
export HADOOP_HOME=/opt/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
EOF
source ~/.bashrc

四、HDFS 配置文件

路径:$HADOOP_HOME/etc/hadoop/

1. 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>

2. hdfs-site.xml

<configuration>
  <property>
    <name>dfs.replication</name>
    <value>2</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. workers(旧版本是 slaves)

dn1
dn2

4. 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

五、启动 HDFS

1. 格式化 NameNode(仅一次)

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

七、常见问题

1. 权限问题

确保目录属主是 hadoop:

chown -R hadoop:hadoop /opt/hadoop

2. 端口不通

  • 检查防火墙
  • 检查 /etc/hosts

3. 集群 ID 不一致

删除 dfs/namedfs/data 后重新格式化


如果你需要:

  • CentOS 7 / 8 区别
  • HA(高可用)部署
  • Docker / K8s 部署 HDFS

可以直接告诉我。

0