温馨提示×

Linux HDFS怎么配置节点

小樊
32
2026-08-13 14:33:01
栏目: 智能运维

下面按最常见的 Hadoop HDFS 多节点(集群)配置来说明,适用于 Linux 环境。如果你只是想做伪分布式(单节点),我也可以单独给你一份简化版。


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

1. 安装 JDK

Hadoop 依赖 Java:

java -version

建议 JDK 8 或 11。


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

useradd hadoop
passwd hadoop

3. 配置主机名和 hosts

假设有 3 台机器:

节点类型 主机名 IP
NameNode master 192.168.1.10
DataNode slave1 192.168.1.11
DataNode slave2 192.168.1.12

每台机器都配置:

vim /etc/hosts
192.168.1.10 master
192.168.1.11 slave1
192.168.1.12 slave2

4. 配置 SSH 免密登录(关键)

NameNode 能免密登录所有 DataNode

在 master 执行:

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

验证:

ssh slave1

二、安装 Hadoop(所有节点)

tar -zxvf hadoop-3.x.x.tar.gz -C /usr/local/
mv /usr/local/hadoop-3.x.x /usr/local/hadoop

配置环境变量:

vim /etc/profile
export HADOOP_HOME=/usr/local/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
source /etc/profile

三、HDFS 核心配置文件(重点)

以下文件在:

$HADOOP_HOME/etc/hadoop/

1. core-site.xml

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

    <property>
        <name>hadoop.tmp.dir</name>
        <value>/data/hadoop/tmp</value>
    </property>
</configuration>

2. hdfs-site.xml

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

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

    <property>
        <name>dfs.replication</name>
        <value>2</value>
    </property>

    <property>
        <name>dfs.namenode.http-address</name>
        <value>master:9870</value>
    </property>
</configuration>

3. workers(Hadoop 3.x)

旧版本叫 slaves

vim $HADOOP_HOME/etc/hadoop/workers
slave1
slave2

4. hadoop-env.sh

export JAVA_HOME=/usr/lib/jvm/java-8-openjdk

四、同步配置到所有节点

scp -r /usr/local/hadoop slave1:/usr/local/
scp -r /usr/local/hadoop slave2:/usr/local/

五、启动 HDFS

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

hdfs namenode -format

⚠️ 只能执行一次,否则数据会丢


2. 启动 HDFS

start-dfs.sh

3. 验证

jps
  • master 应有:NameNode
  • slave 应有:DataNode

Web UI:

http://master:9870

六、常见问题

1. DataNode 没起来

  • 检查 dfs.datanode.data.dir 权限
  • 检查防火墙
systemctl stop firewalld

2. 集群 ID 不一致

删除所有节点的:

/data/hadoop/dfs/

重新格式化


七、伪分布式(单节点)一句话版

如果你是学习用单台 Linux

  • workerslocalhost
  • dfs.replication=1
  • 其余配置相同

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

  • ✅ Hadoop 版本
  • ✅ 单节点 or 多节点
  • ✅ 系统(CentOS / Ubuntu)

我可以直接给你一步一步可复制命令版

0