大数据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
相关推荐
青云交2 小时前
Java 大视界 -- Java 大数据机器学习模型在自然语言处理中的对话系统多轮交互优化与用户体验提升
java·大数据·机器学习·自然语言处理·对话系统·多轮交互
搜移IT科技2 小时前
加密货币市场的二元性 XBIT Wallet 硬件钱包风险缓解多元化策略
大数据·人工智能
Adellle2 小时前
windows安装ES(8.14.x版本)
大数据·windows·elasticsearch
摇滚侠2 小时前
ElasticSearch 是什么,ES 是什么?
大数据·elasticsearch·搜索引擎
4***99742 小时前
工业网关助力Altivar320与S7-1200协同运行
ide·python·算法·spring·eclipse·sqlite·tornado
摇滚侠2 小时前
ElasticSearch 教程入门到精通,条件分页排序查询,多条件范围查询,完全匹配高亮查询,聚合查询,映射关系,笔记13、14、15、16、17
大数据·笔记·elasticsearch
IT·小灰灰2 小时前
DeepSeek-V3.2:开源大模型的里程碑式突破与硅基流动平台实战指南
大数据·人工智能·python·深度学习·算法·数据挖掘·开源
windfantasy199010 小时前
编程考级体系:覆盖全学段多科目的优势分析
大数据
wheelerer14 小时前
企业营销的隐形门槛:当规则成为第一道城墙
大数据·营销·流量营销