温馨提示×

centos安装hdfs要注意啥

小樊
41
2026-09-21 16:35:59
栏目: 智能运维

在 CentOS 上安装 HDFS(通常是 Hadoop 的 HDFS 组件)时,有几个关键点需要特别注意,否则很容易踩坑。下面按安装前 → 安装中 → 安装后给你梳理一遍。


一、安装前要注意

1. Java 环境(最重要)

HDFS 强依赖 Java:

  • 推荐 JDK 8(Hadoop 2.x / 3.x 最稳)
  • 不建议用 JDK 11+(部分老版本 Hadoop 不兼容)
java -version

配置:

export JAVA_HOME=/usr/java/jdk1.8.0_xxx

2. 主机名 & hosts 配置

HDFS 对主机名非常敏感:

  • 不要用 localhost 做集群通信
  • 所有节点都要能互相解析主机名
vi /etc/hosts

示例:

192.168.1.10 namenode
192.168.1.11 datanode1
192.168.1.12 datanode2

修改主机名:

hostnamectl set-hostname namenode

3. 关闭防火墙 / SELinux(测试环境)

CentOS 默认防火墙和 SELinux 会挡端口。

systemctl stop firewalld
systemctl disable firewalld

setenforce 0
vi /etc/selinux/config
# SELINUX=disabled

生产环境应开放端口而不是全关


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

不要用 root 跑 HDFS:

useradd hadoop
passwd hadoop

5. SSH 免密登录(必须)

NameNode 要能免密登录所有 DataNode:

ssh-keygen -t rsa
ssh-copy-id datanode1
ssh-copy-id datanode2

二、安装中要注意

6. Hadoop 版本选择

  • 单机测试:Hadoop 3.x
  • 老系统:Hadoop 2.7 / 2.9

下载后解压:

tar -zxvf hadoop-3.3.6.tar.gz -C /opt/

7. 关键配置文件

主要修改这几个:

  • core-site.xml
  • hdfs-site.xml
  • workers(Hadoop 3)
  • hadoop-env.sh

示例(最小可用):

core-site.xml

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

hdfs-site.xml

<configuration>
  <property>
    <name>dfs.replication</name>
    <value>2</value>
  </property>
  <property>
    <name>dfs.namenode.name.dir</name>
    <value>/data/hadoop/name</value>
  </property>
  <property>
    <name>dfs.datanode.data.dir</name>
    <value>/data/hadoop/data</value>
  </property>
</configuration>

8. 目录权限

数据目录必须存在且属于 hadoop 用户:

mkdir -p /data/hadoop/name
mkdir -p /data/hadoop/data
chown -R hadoop:hadoop /data/hadoop

三、安装后要注意

9. 第一次必须格式化 NameNode

只能做一次!

hdfs namenode -format

重复格式化会丢数据。


10. 启动方式

start-dfs.sh

检查:

jps
# NameNode / DataNode / SecondaryNameNode

Web UI:

http://namenode:9870

11. 常见坑总结

  • ❌ 用 root 启动 → 权限问题
  • ❌ hosts 配置不对 → DataNode 不注册
  • ❌ 防火墙没关 → 端口连不上
  • ❌ JAVA_HOME 没配 → 启动失败
  • ❌ 多次 format → clusterID 不一致

如果你愿意,可以告诉我:

  • ✅ CentOS 版本(7 / 8 / Stream)
  • ✅ 单机还是集群
  • ✅ Hadoop 版本

我可以给你一份可直接用的配置清单

0