温馨提示×

linux hdfs怎么集群

小樊
45
2026-10-01 15:03:27
栏目: 智能运维

下面给你一个Linux 下 HDFS 集群搭建的核心思路与步骤(以 Hadoop 3.x 为例,最常用)。如果你只是想“快速理解怎么搭”,看前半部分即可;后面是实操步骤。


一、HDFS 集群基本组成

一个最基础的 HDFS 集群包含:

角色 作用
NameNode (NN) 管理元数据(文件目录、块信息)
DataNode (DN) 真正存储数据
SecondaryNameNode 辅助 NN(不是热备)
ResourceManager / NodeManager YARN(可选,算集群用)

最小集群结构:

  • 1 台 NameNode
  • 2+ 台 DataNode

二、准备工作(所有节点)

1. 机器要求

  • Linux(CentOS / Ubuntu 均可)
  • 多台机器(或虚拟机)
  • 主机名可解析(/etc/hosts)

示例:

192.168.1.10 namenode
192.168.1.11 datanode1
192.168.1.12 datanode2

2. 安装 JDK

java -version

推荐 JDK 8 或 11

3. 创建用户(可选但推荐)

useradd hadoop

4. 配置 SSH 免密

NameNode 要能免密登录所有节点:

ssh-keygen
ssh-copy-id datanode1
ssh-copy-id datanode2

三、下载并配置 Hadoop

1. 下载解压

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 /opt/hadoop

2. 配置环境变量

vi /etc/profile
export HADOOP_HOME=/opt/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
source /etc/profile

四、关键配置文件(core / hdfs)

1. core-site.xml

<configuration>
  <property>
    <name>fs.defaultFS</name>
    <value>hdfs://namenode:9000</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/data/name</value>
  </property>

  <property>
    <name>dfs.datanode.data.dir</name>
    <value>/opt/hadoop/data/data</value>
  </property>
</configuration>

3. workers(Hadoop 3)

vi $HADOOP_HOME/etc/hadoop/workers
datanode1
datanode2

五、启动 HDFS 集群

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

hdfs namenode -format

2. 启动

start-dfs.sh

3. 检查

jps

应看到:

  • NameNode
  • DataNode
  • SecondaryNameNode

Web 页面:

http://namenode:9870

六、测试 HDFS

hdfs dfs -mkdir /test
hdfs dfs -put file.txt /test
hdfs dfs -ls /test

七、常见问题

  • DataNode 起不来 → 检查 SSH、防火墙、目录权限
  • 端口不通 → 关闭防火墙或放行 9000 / 9870
  • 格式化多次 → 删除 data 目录再格式化

八、如果你想要更省事

  • 使用 Docker Compose 搭 HDFS
  • 或使用 CDH / HDP / Ambari 一键部署(企业常用)

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

  • 你是 学习 / 生产 / 考试?
  • 用 物理机 / 虚拟机 / Docker?
  • Hadoop 版本?

我可以直接给你一套可复制的集群配置。

0 踩