温馨提示×

linux hadoop怎么集群

小樊
35
2026-10-07 10:14:08
栏目: 智能运维

下面给你一个Linux 下 Hadoop 集群搭建的简明实战流程(以 Hadoop 3.x + CentOS/Ubuntu 为例,适合学习/生产参考)。


一、集群规划(示例)

假设 3 台机器:

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

二、基础环境准备(所有节点)

1. 关闭防火墙

systemctl stop firewalld
systemctl disable firewalld

2. 配置主机名

hostnamectl set-hostname master

3. 配置 hosts

vi /etc/hosts
192.168.1.10 master
192.168.1.11 slave1
192.168.1.12 slave2

4. 安装 JDK

yum install java-1.8.0-openjdk-devel -y
# 或 apt install openjdk-8-jdk

配置 JAVA_HOME:

vi /etc/profile
export JAVA_HOME=/usr/lib/jvm/java-1.8.0
export PATH=$PATH:$JAVA_HOME/bin
source /etc/profile

三、配置 SSH 免密(master → 所有节点)

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

测试:

ssh slave1

四、安装 Hadoop(所有节点)

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 -C /opt
mv /opt/hadoop-3.3.6 /opt/hadoop

配置环境变量:

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

五、Hadoop 配置文件(master 修改后分发)

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

4. mapred-site.xml

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

5. 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>

6. workers

vi $HADOOP_HOME/etc/hadoop/workers
slave1
slave2

六、分发 Hadoop 到从节点

scp -r /opt/hadoop slave1:/opt/
scp -r /opt/hadoop slave2:/opt/

七、启动 Hadoop 集群

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

hdfs namenode -format

2. 启动 HDFS

start-dfs.sh

3. 启动 YARN

start-yarn.sh

八、验证集群

查看进程

jps
  • master:NameNode、ResourceManager
  • slave:DataNode、NodeManager

Web 页面

  • HDFS:http://master:9870
  • YARN:http://master:8088

九、测试 WordCount

hdfs dfs -mkdir /input
hdfs dfs -put README.txt /input
hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.6.jar wordcount /input /output

十、常见问题

  • Permission denied (publickey) → SSH 没配置好
  • DataNode 没起来 → 多次格式化导致 clusterID 不一致
  • 端口不通 → 防火墙或 hosts 配置错误

如果你愿意,我可以:

  • 给你 一键部署脚本
  • 教你 HA(高可用)集群
  • 或针对 Ubuntu / Rocky / 云服务器 单独说明

你现在是学习用还是生产环境?

0 踩