温馨提示×

hdfs在centos上怎样部署

小樊
40
2026-09-21 16:31:59
栏目: 智能运维

下面给你一个在 CentOS 上部署 HDFS(Hadoop 分布式文件系统)的简明实战流程,以 单 NameNode + 多 DataNode(伪分布式 / 完全分布式) 为例,适合学习和测试环境。


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

1. 系统要求

  • CentOS 7 / 8
  • Java 8(Hadoop 3.x 推荐)
  • 多台机器(或单机伪分布式)

2. 关闭防火墙(测试环境)

systemctl stop firewalld
systemctl disable firewalld

3. 配置主机名和 hosts

hostnamectl set-hostname master

/etc/hosts 示例:

192.168.1.10 master
192.168.1.11 slave1
192.168.1.12 slave2

4. 配置 SSH 免密登录

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

5. 安装 Java

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

二、下载并安装 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
mv /opt/hadoop-3.3.6 /opt/hadoop

三、配置环境变量

/etc/profile.d/hadoop.sh

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

四、HDFS 核心配置

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

4. workers(Hadoop 3.x)

slave1
slave2

五、初始化并启动 HDFS

1. 格式化 NameNode(仅第一次)

hdfs namenode -format

2. 启动 HDFS

start-dfs.sh

3. 检查进程

jps

应看到:

  • NameNode
  • DataNode
  • SecondaryNameNode

六、验证 HDFS

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

Web 界面:

http://master:9870

七、常见部署方式说明

类型 说明
单机模式 不启动 HDFS
伪分布式 单台机器模拟集群
完全分布式 多台 CentOS 节点

八、常见问题

  • DataNode 不启动:删除 data 目录重新格式化
  • 端口冲突:检查 9000 / 9870
  • 权限问题:不要使用 root 运行生产环境

如果你需要:

  • ✅ 伪分布式详细步骤
  • ✅ Hadoop HA(高可用)
  • ✅ CentOS 7 一键脚本

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

0 踩