温馨提示×

linux hadoop如何搭建集群

小樊
60
2026-08-25 00:59:36
栏目: 智能运维

下面给你一个Linux 下 Hadoop 集群(HDFS + YARN)搭建的完整流程示例,适合学习 / 实验环境(生产环境还需安全、高可用等配置)。


一、环境准备

1. 机器规划(示例)

主机名 IP 角色
master 192.168.1.10 NameNode + ResourceManager
slave1 192.168.1.11 DataNode + NodeManager
slave2 192.168.1.12 DataNode + NodeManager

建议:至少 3 台机器(或虚拟机)


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

(1)关闭防火墙

systemctl stop firewalld
systemctl disable firewalld

(2)配置主机名

hostnamectl set-hostname master

(3)配置 hosts

vim /etc/hosts
192.168.1.10 master
192.168.1.11 slave1
192.168.1.12 slave2

(4)安装 JDK

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

二、配置 SSH 免密登录(关键)

master 节点

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

测试:

ssh slave1

三、安装 Hadoop

1. 下载并解压

wget https://downloads.apache.org/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 /usr/local/hadoop

2. 配置环境变量

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

四、Hadoop 核心配置文件

配置文件目录:

cd $HADOOP_HOME/etc/hadoop

1. hadoop-env.sh

export JAVA_HOME=/usr/lib/jvm/java-1.8.0

2. core-site.xml

<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://master:9000</value>
    </property>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/usr/local/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>/usr/local/hadoop/dfs/name</value>
    </property>
    <property>
        <name>dfs.datanode.data.dir</name>
        <value>/usr/local/hadoop/dfs/data</value>
    </property>
</configuration>

4. yarn-site.xml

<configuration>
    <property>
        <name>yarn.resourcemanager.hostname</name>
        <value>master</value>
    </property>
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
</configuration>

5. mapred-site.xml

<configuration>
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
</configuration>

6. workers(Hadoop 3.x)

vim workers
slave1
slave2

五、分发 Hadoop 到其他节点

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

六、启动 Hadoop 集群

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

hdfs namenode -format

2. 启动集群

start-dfs.sh
start-yarn.sh

3. 检查进程

master

jps

应看到:

NameNode
ResourceManager

slave

DataNode
NodeManager

七、验证集群

1. HDFS Web UI

http://master:9870

2. YARN Web UI

http://master:8088

八、简单测试

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

九、常见问题

1. datanode 启动失败

  • 多次格式化 namenode 导致 clusterID 不一致
    ✅ 删除 tmp/ dfs/ 目录重新格式化

2. 端口被占用

netstat -tunlp | grep 9000

十、下一步你可以做什么

  • 搭建 HA 高可用 Hadoop
  • 集成 Hive / HBase / Spark
  • 使用 Zookeeper

如果你愿意,我可以: ✅ 给你 一键脚本
✅ 按 CentOS / Ubuntu 定制
✅ 帮你排查 具体报错日志

0 踩