大数据HADOOP之部署HADOOP平台

大数据 HADOOP 平台部署教程

本文将分步指导完成 HADOOP 分布式集群的部署,适用于虚拟机测试环境,也可作为生产环境部署的参考蓝本。

一、部署前期准备

1.1 节点规划与硬件配置

本次部署采用 1 主 2 从的集群架构,各节点角色及硬件配置建议如下表所示:

|-------------|------------------|----|
| 节点角色 | 硬件配置建议 | 数量 |
| NameNode(主) | 4 核、8G 内存、30G 硬盘 | 1 |
| DataNode(从) | 2 核、4G 内存、30G 硬盘 | 2 |

1.2 操作系统选择

所有节点统一使用Centos7 系统,该系统相关技术资料丰富,遇到问题时便于检索解决方案。

1.3 系统基础配置

由于为虚拟机测试环境,仅需完成以下基础配置:

  • 关闭防火墙
  • 关闭 SElinux

1.4 软件与工具准备

1.4.1 核心软件版本

|--------|-------------------------|
| 软件名称 | 软件版本 |
| JAVA | jdk-8u471-linux-x64.tar |
| HADOOP | hadoop-3.1.3.tar |

1.4.2 必备系统工具

|------|-------|
| 工具名称 | 功能 |
| VIM | 文本编辑器 |
| SSH | 远程连接 |

1.5 Hadoop 核心配置文件介绍

Hadoop 的核心配置文件均集中在$HADOOP_HOME/etc/hadoop目录下,需根据集群架构针对性修改,各文件核心配置项如下:

|------------------------|----------------------------------------------------------------------------------------------------------------------------------|
| 配置文件 | 核心配置项 |
| core-site.xml | fs.defaultFS(HDFS 地址,如 hdfs://cluster:9000)、hadoop.tmp.dir(临时目录) |
| hdfs-site.xml | dfs.replication(副本数,生产环境建议 3)、dfs.namenode.secondary.http-address(备 NameNode 地址)、dfs.ha.namenodes(高可用节点) |
| yarn-site.xml | yarn.resourcemanager.address(资源管理器地址)、yarn.nodemanager.aux-services(mapreduce_shuffle)、yarn.resourcemanager.ha.enabled(YARN 高可用) |
| mapred-site.xml | mapreduce.framework.name(yarn)、mapreduce.jobhistory.address(历史服务器) |
| hadoop-env.sh | JAVA_HOME、HADOOP_OPTS(JVM 参数,如 - Xmx10240m)、HADOOP_LOG_DIR(日志目录) |
| workers(slaves) | 所有 DataNode/NodeManager 节点的主机名 / IP |
| capacity-scheduler.xml | 资源调度策略(队列、内存 / CPU 配额,生产环境需定制) |

二、Hadoop 完全分布式安装配置步骤

步骤 1:复制安装包并解压 JDK

  1. 登录 Master 节点,创建相关目录:

mkdir -p /opt/software

mkdir -p /opt/module

  1. 从宿主机复制安装包到 Master 的/opt/software目录:

scp /opt/hadoop-3.1.3.tar.gz root@Master:/opt/software/

scp /opt/jdk-8u212-linux-x64.tar.gz root@Master:/opt/software/

  1. 解压 JDK 到/opt/module目录:

tar -zxvf /opt/software/jdk-8u212-linux-x64.tar.gz -C /opt/module/

步骤 2:配置 JDK 环境变量并验证

  1. 编辑/etc/profile文件:

vi /etc/profile

  1. 在文件末尾添加 JDK 环境变量:

# JDK环境变量

export JAVA_HOME=/opt/module/jdk1.8.0_212

export PATH=$PATH:$JAVA_HOME/bin

export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

  1. 使环境变量生效:

source /etc/profile

  1. 验证 JDK 安装,分别执行以下命令并截图留存:

java -version

javac

步骤 3:配置 host 与免密登录,分发 JDK

3.1 配置 hosts 文件

三个节点均需执行以下操作:

  1. 编辑/etc/hosts文件:

vi /etc/hosts

  1. 添加如下内容(替换为节点实际 IP):

192.168.x.x master

192.168.x.x slave1

192.168.x.x slave2

3.2 配置免密登录

仅在 Master 节点执行以下命令:

# 生成免密密钥,一路回车无密码

ssh-keygen -t rsa -P ""

# 分发密钥到所有节点

ssh-copy-id master

ssh-copy-id slave1

ssh-copy-id slave2

3.3 分发 JDK 到从节点

# 先在slave1、slave2创建/opt/module目录

ssh slave1 "mkdir -p /opt/module"

ssh slave2 "mkdir -p /opt/module"

# 复制JDK文件到从节点

scp -r /opt/module/jdk1.8.0_212 root@slave1:/opt/module/

scp -r /opt/module/jdk1.8.0_212 root@slave2:/opt/module/

步骤 4:解压并配置 Hadoop,初始化 namenode

4.1 解压并分发 Hadoop
  1. 解压 Hadoop 到/opt/module目录:

tar -zxvf /opt/software/hadoop-3.1.3.tar.gz -C /opt/module/

  1. 分发 Hadoop 到 slave1、slave2:

scp -r /opt/module/hadoop-3.1.3 root@slave1:/opt/module/

scp -r /opt/module/hadoop-3.1.3 root@slave2:/opt/module/

4.2 修改 Hadoop 核心配置文件
  1. 编辑/opt/module/hadoop-3.1.3/etc/hadoop/core-site.xml:

<configuration>

<property>

<name>fs.defaultFS</name>

<value>hdfs://master:9000</value>

</property>

<property>

<name>hadoop.tmp.dir</name>

<value>/opt/module/hadoop-3.1.3/data/tmp</value>

</property>

</configuration>

  1. 编辑/opt/module/hadoop-3.1.3/etc/hadoop/hdfs-site.xml:

<configuration>

<property>

<name>dfs.replication</name>

<value>3</value>

</property>

<property>

<name>dfs.permissions.enabled</name>

<value>false</value>

</property>

</configuration>

  1. 编辑/opt/module/hadoop-3.1.3/etc/hadoop/yarn-site.xml:

<configuration>

<property>

<name>yarn.resourcemanager.address</name>

<value>master:8032</value>

</property>

<property>

<name>yarn.nodemanager.aux-services</name>

<value>mapreduce_shuffle</value>

</property>

<property>

<name>yarn.resourcemanager.webapp.address</name>

<value>master:8088</value>

</property>

</configuration>

  1. 编辑/opt/module/hadoop-3.1.3/etc/hadoop/workers(替换原内容):

master

slave1

slave2

4.3 配置 Hadoop 环境变量
  1. 编辑/etc/profile文件,添加如下内容:

export HADOOP_HOME=/opt/module/hadoop-3.1.3

export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

  1. 使环境变量生效:

source /etc/profile

4.4 创建普通用户运行 Hadoop(推荐)

为保障集群安全性,建议使用普通用户启动 Hadoop 服务,操作如下:

  1. 创建普通用户及用户组:

# 创建用户组

groupadd hadoop

# 创建用户并指定组,同时创建家目录

useradd -g hadoop -m hadoop

# 设置用户密码(按提示输入密码)

passwd hadoop

  1. 授权 Hadoop 安装目录权限:

chown -R hadoop:hadoop /usr/local/hadoop # 替换为实际Hadoop安装路径

chmod -R 755 /usr/local/hadoop

  1. 切换到 hadoop 用户:

su - hadoop # 切换用户并加载对应环境变量

4.5 初始化 namenode

执行以下命令初始化 namenode,并将命令及结果截图留存:

hdfs namenode -format

步骤 5:启动 Hadoop 集群并查看进程

  1. 启动 HDFS 和 YARN 服务:

start-dfs.sh

start-yarn.sh

  1. 分别在 Master 和 slave1 节点执行jps命令并截图,验证进程是否正常:

jps

    • Master 节点正常进程:NameNode、ResourceManager、SecondaryNameNode、Jps
    • slave1 节点正常进程:DataNode、NodeManager、Jps
相关推荐
熊猫钓鱼>_>23 分钟前
Tbox使用教程与心得体验:智能体驱动我的“2025年大模型发展工作总结及企业智能办公场景应用前景“深度报告生成
大数据·人工智能·ai·llm·提示词·智能体·tbox
Francek Chen27 分钟前
【博客之星2025年度总评选】逐梦2026:我的2025博客回溯与AI运营之旅
大数据·人工智能·经验分享·程序人生·csdn·博客之星
GeminiJM30 分钟前
Elasticsearch Dump 失败问题排查:Store: True 导致的字段数组化问题
大数据·elasticsearch·jenkins
数峦云数字孪生三维可视化1 小时前
数字孪生沙盘——亚运智力场馆之杭州棋院(智力大厦)
大数据·人工智能·物联网·数字孪生·三维可视化
启芯硬件1 小时前
电源XL6009E1的dieshot细节分析-芯片设计干货
大数据·经验分享·硬件工程·1024程序员节
跨境海外仓小秋1 小时前
东南亚海外仓费用计算指南,精准计费避坑攻略
大数据·人工智能
Hello.Reader1 小时前
Flink ML LinearRegression 用 Table API 训练线性回归并输出预测值
大数据·flink·线性回归
菩提祖师_1 小时前
基于大数据背景下智能手机营销对策研究
大数据·智能手机·软件工程
武子康1 小时前
Java-218 RocketMQ Java API 实战:同步/异步 Producer 与 Pull/Push Consumer
java·大数据·分布式·消息队列·rocketmq·java-rocketmq·mq
艾莉丝努力练剑1 小时前
艾莉丝努力练剑的2025年度总结
java·大数据·linux·开发语言·c++·人工智能·python