温馨提示×

linux hadoop如何集群部署

小樊
41
2026-07-14 14:23:13
栏目: 智能运维

下面以 Linux 环境下 Hadoop 集群部署(Hadoop 3.x 为例) 给你一个从零到可用的完整流程,适合生产或学习环境。


一、集群规划(示例)

假设部署 3 台机器

主机名 IP 角色
hadoop01 192.168.1.10 NameNode + ResourceManager
hadoop02 192.168.1.11 DataNode + NodeManager
hadoop03 192.168.1.12 DataNode + NodeManager

如果是学习环境,也可以 1 台机器伪分布式部署。


二、前置准备(所有节点)

1. 系统要求

  • Linux(CentOS 7/8、Rocky、Ubuntu 等)
  • Java 8 或 11(推荐 JDK 8)
  • SSH 免密登录
  • 固定 IP + 主机名

2. 安装 JDK

# CentOS
yum install -y java-1.8.0-openjdk java-1.8.0-openjdk-devel

# Ubuntu
apt install -y openjdk-8-jdk

验证:

java -version

3. 配置主机名和 hosts

hostnamectl set-hostname hadoop01

所有节点 /etc/hosts

192.168.1.10 hadoop01
192.168.1.11 hadoop02
192.168.1.12 hadoop03

4. 创建 hadoop 用户(推荐)

useradd hadoop
passwd hadoop

5. SSH 免密登录(重点)

hadoop01 执行:

su - hadoop
ssh-keygen -t rsa
ssh-copy-id hadoop01
ssh-copy-id hadoop02
ssh-copy-id hadoop03

验证:

ssh hadoop02

三、安装 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 -C /opt/
mv /opt/hadoop-3.3.6 /opt/hadoop
chown -R hadoop:hadoop /opt/hadoop

2. 配置环境变量

~/.bashrc

export HADOOP_HOME=/opt/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk

生效:

source ~/.bashrc

四、核心配置文件(重点)

进入:

cd $HADOOP_HOME/etc/hadoop

1. hadoop-env.sh

export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk
export HADOOP_HOME=/opt/hadoop

2. core-site.xml

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

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

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

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

6. workers(Hadoop 3)

hadoop02
hadoop03

五、同步配置到所有节点

scp -r /opt/hadoop hadoop02:/opt/
scp -r /opt/hadoop hadoop03:/opt/

六、启动 Hadoop 集群

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

hdfs namenode -format

2. 启动 HDFS

start-dfs.sh

3. 启动 YARN

start-yarn.sh

4. 查看进程

jps
  • hadoop01:NameNode、ResourceManager
  • hadoop02/03:DataNode、NodeManager

七、验证集群

1. HDFS Web UI

http://hadoop01:9870

2. YARN Web UI

http://hadoop01:8088

3. 测试 HDFS

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

八、常见错误

问题 解决方法
NameNode 起不来 检查 hadoop.tmp.dir 权限
DataNode 起不来 删除 data 目录重新格式化
SSH 失败 重新配置免密
Java 找不到 检查 JAVA_HOME

九、总结流程

Linux + JDK + SSH
→ 安装 Hadoop
→ 配置 5 个核心文件
→ 分发配置
→ 格式化 NameNode
→ 启动集群

如果你需要:

  • 伪分布式部署
  • 高可用 HA 集群
  • Hadoop + Hive / Spark
  • 生产环境参数优化

可以直接告诉我你的 机器数量和使用场景,我可以给你定制方案。

0