大数据技术之Hadoop:Yarn集群部署(七)

news/2024/7/8 2:25:53 标签: 大数据, hadoop, 分布式, java

目录

一、部署说明

二、集群规划

三、开始配置

3.1 MapReduce配置文件

3.2 YARN配置文件

3.3 分发配置文件

四、集群启停

4.1 命令介绍 

4.2 演示

4.3 查看YARN的WEB UI页面


一、部署说明

Hadoop HDFS分布式文件系统,我们会启动:

  • NameNode进程作为管理节点
  • DataNode进程作为工作节点
  • SecondaryNamenode作为辅助

同理,Hadoop YARN分布式资源调度,会启动:

  • ResourceManager进程作为管理节点
  • NodeManager进程作为工作节点
  • ProxyServer、JobHistoryServer这两个辅助节点

那么,MapReduce呢?

MapReduce运行在YARN容器内,无需启动独立进程

所以关于MapReduceYARN的部署,其实就是2件事情:

关于MapReduce 修改相关配置文件,但是没有进程可以启动

关于YARN 修改相关配置文件, 启动ResourceManagerNodeManager进程以及辅助进程(代理服务器、历史服务器)

总结

组件

配置文件

启动进程

备注

Hadoop HDFS

需修改

需启动

NameNode 作为主节点
DataNode 作为从节点
SecondaryNameNode 主节点辅助

分布式文件系统

Hadoop YARN

需修改

需启动

ResourceManager 作为集群资源管理者
NodeManager 作为单机资源管理者
ProxyServer 代理服务器提供安全性
JobHistoryServer 记录历史信息和日志

分布式资源调度

Hadoop MapReduce

需修改

无需启动任何进程

MapReduce程序运行在YARN容器内

分布式数据计算

二、集群规划

3台服务器,其中node1配置较高

集群规划如下:

主机

角色

centos100

ResourceManager

NodeManager

ProxyServer

JobHistoryServer

centos101

NodeManager

centos102

NodeManager

三、开始配置

3.1 MapReduce配置文件

$HADOOP_HOME/etc/hadoop 文件夹内,修改:

mapred-env.sh文件,添加如下环境变量

# 设置JDK路径
export JAVA_HOME=/opt/software/jdk/jdk1.8.0_202
# 设置JobHistoryServer进程内存为1G
export HADOOP_JOB_HISTORYSERVER_HEAPSIZE=1000
# 设置日志级别为INFO
export HADOOP_MAPRED_ROOT_LOGGER=INFO,RFA

mapred-site.xml文件,添加如下配置信息 

<configuration>
  <property>
    <name>mapreduce.framework.name</name>
    <value>yarn</value>
    <description>MapReduce的运行框架设置为YARN</description>
  </property>

  <property>
    <name>mapreduce.jobhistory.address</name>
    <value>centos100:10020</value>
    <description>历史服务器通讯端口为centos100:10020</description>
  </property>

  <property>
    <name>mapreduce.jobhistory.webapp.address</name>
    <value>centos100:19888</value>
    <description>历史服务器web端口为centos100的19888</description>
  </property>

  
  <property>
    <name>mapreduce.jobhistory.intermediate-done-dir</name>
    <value>/data/mr-history/tmp</value>
    <description>历史信息在HDFS的记录临时路径</description>
  </property>


  <property>
    <name>mapreduce.jobhistory.done-dir</name>
    <value>/data/mr-history/done</value>
    <description>历史信息在HDFS的记录路径</description>
  </property>

  <property>
    <name>yarn.app.mapreduce.am.env</name>
    <value>HADOOP_MAPRED_HOME=$HADOOP_HOME</value>
    <description>MapReduce HOME 设置为HADOOP_HOME</description>
  </property>

  <property>
    <name>mapreduce.map.env</name>
    <value>HADOOP_MAPRED_HOME=$HADOOP_HOME</value>
    <description>MapReduce HOME 设置为HADOOP_HOME</description>
  </property>

  <property>
    <name>mapreduce.reduce.env</name>
    <value>HADOOP_MAPRED_HOME=%HADOOP_HOME</value>
    <description>MapReduce HOME 设置为HADOOP_HOME</description>
  </property>

</configuration>

3.2 YARN配置文件

$HADOOP_HOME/etc/hadoop 文件夹内,修改:

yarn-env.sh文件,添加如下4行环境变量内容:

# 设置JDK路径的环境变量
export JAVA_HOME=/opt/software/jdk/jdk1.8.0_202
# 设置HADOOP_HOME的环境变量
export HADOOP_HOME=/opt/software/hadoop/hadoop-3.3.4
# 设置配置文件路径的环境变量
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
# 设置日志文件路径的环境变量
export HADOOP_LOG_DIR=$HADOOP_HOME/logs

yarn-site.xml文件,配置如下

<!-- 核心配置文件 -->
<property>
    <name>yarn.resourcemanager.hostname</name>
    <value>centos100</value>
    <description>ResourceMangager设置在centos100节点</description>
</property>

<property>
    <name>yarn.nodemanager.local-dirs</name>
    <value>/data/nm-local</value>
    <description>NodeManager中间数据本地存储路径</description>
</property>

<property>
    <name>yarn.nodemanager.log-dirs</name>
    <value>/data/nm-log</value>
    <description>NodeManager数据日志本地存储路径</description>
</property>

<property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
    <description>为MapReduce程序开启Shuffle服务</description>
</property>

<!-- 额外配置 -->
<!-- 额外配置项的功能后续会慢慢接触到,目前先复制粘贴配置上使用即可 -->
<property>
    <name>yarn.log.server.url</name>
    <value>http://centos100:19888/jobhistory/logs</value>
    <description>历史服务器URL</description>
</property>

<property>
    <name>yarn.web-proxy.address</name>
    <value>centos100:8089</value>
    <description>代理服务器主机和端口</description>
</property>

<property>
    <name>yarn.log-aggregation-enable</name>
    <value>true</value>
    <description>开启日志聚合</description>
</property>

<property>
    <name>yarn.nodemanager.remote-app-log-dir</name>
    <value>/tmp/logs</value>
    <description>程序日志HDFS的存储路径</description>
</property>

<property>
    <name>yarn.resoucemanager.scheduler.class</name>
    <value>org.apache.hadoop.yarn.server.resourcemanager.scheduler.fair.FairScheduler</value>
    <description>选择公平调度器</description>
</property>

3.3 分发配置文件

MapReduceYARN的配置文件修改好后,需要分发到其它的服务器节点中。

scp mapred-env.sh mapred-site.xml yarn-env.sh yarn-site.xml centos101:`pwd`/
scp mapred-env.sh mapred-site.xml yarn-env.sh yarn-site.xml centos102:`pwd`/

分发完成配置文件,就可以启动YARN的相关进程啦。

(ps:分发完成也可以去其他服务器检查一下是否成功!)

四、集群启停

4.1 命令介绍

常用的进程启动命令如下:

一键启动YARN集群: $HADOOP_HOME/sbin/start-yarn.sh

  • 会基于yarn-site.xml中配置的yarn.resourcemanager.hostname来决定在哪台机器上启动resourcemanager
  • 会基于workers文件配置的主机启动NodeManager

一键停止YARN集群: $HADOOP_HOME/sbin/stop-yarn.sh

在当前机器,单独启动或停止进程

$HADOOP_HOME/bin/yarn --daemon start|stop resourcemanager|nodemanager|proxyserver

  • start和stop决定启动和停止
  • 可控制resourcemanager、nodemanager、proxyserver三种进程

历史服务器启动和停止

$HADOOP_HOME/bin/mapred --daemon start|stop historyserver

 

4.2 演示

下面开始演示:

centos100服务器,以hadoop用户执行

首先执行:$HADOOP_HOME/sbin/start-yarn.sh,一键启动所需的:

  • ResourceManager
  • NodeManager
  • ProxyServer(代理服务器)

其次执行:$HADOOP_HOME/bin/mapred --daemon start historyserver 启动: 

HistoryServer(历史服务器)

4.3 查看YARNWEB UI页面

打开 http://centos100:8088 即可看到YARN集群的监控页面(ResourceManagerWEB UI

最后别忘记了给虚拟机打上快照哦!


http://www.niftyadmin.cn/n/5012259.html

相关文章

SpringMVC之CRUD

SpringMVC实现增删改查 1. 导入相关依赖 pom.xml <?xml version"1.0" encoding"UTF-8"?><project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation…

Java中使用JTS实现WKT字符串读取转换线、查找LineString的list中距离最近的线、LineString做缓冲区扩展并计算点在缓冲区内的方位角

场景 Java中使用JTS对空间几何计算(读取WKT、距离、点在面内、长度、面积、相交等)&#xff1a; Java中使用JTS对空间几何计算(读取WKT、距离、点在面内、长度、面积、相交等)_jts-core_霸道流氓气质的博客-CSDN博客 JavaGeoTools实现WKT数据根据EPSG编码进行坐标系转换&…

lnmp 环境搭建wordpress

配置数据库 执行以下命令&#xff0c;进入 MariaDB。 mysql -uroot -p执行以下命令&#xff0c;创建 MariaDB 数据库。例如 “wordpress”。 CREATE DATABASE wordpress; 执行以下命令&#xff0c;创建一个新用户。例如 “user”&#xff0c;登录密码为 123456。 CREATE USER …

【计算机基础知识10】解析黑窗口CMD:认识CMD及常见命令

目录 一、前言 二、CMD的基本知识 三、CMD常见命令分类 1. 文件和目录管理命令 1.1 列出文件和目录&#xff1a;dir 1.2 创建目录&#xff1a;mkdir 1.3 删除目录&#xff1a;rmdir 1.4 复制文件或目录&#xff1a;copy 1.5 移动文件或目录&#xff1a;move 2. 系统信…

ElementUI浅尝辄止37:Select 选择器

当选项过多时&#xff0c;使用下拉菜单展示并选择内容。 1.如何使用&#xff1f;基础单选 v-model的值为当前被选中的el-option的 value 属性值 <template><el-select v-model"value" placeholder"请选择"><el-optionv-for"item in …

JavaScript-----轮播图案例展示

前言&#xff1a; 这一期我们去通过JavaScript的代码实现轮播图的制作&#xff0c;下面有效果展示和代码资源&#xff0c;其中的图片资源和代码资源我都上传上去了&#xff0c;如果需要运行的话&#xff0c;你们可以去直接下载下来。希望各位喜欢&#xff01; 效果展示 16941…

20230908-考题记录

题目描述 给定一个数组nums和窗口大小win&#xff0c;每个win种的最大值为maxNum,最小值为minNum&#xff0c;求出该数组所有窗maxNum和minNum的最大差值。 示例1&#xff1a; 输入&#xff1a; nums [2, 3, 5, 7, 6, 8, 1]; win 3 输出&#xff1a; 7 解析&#xff1…

【Python 自动化】小说推文一键生成思路概述

最近看了一下小说推文成品软件的思路&#xff0c;发现可以完全迁移到我的 BookerAutoVideo 上面来。这篇短文里面&#xff0c;我试着分析一下整个推文视频生成的流程&#xff0c;以及简要阐述一下有什么工具。 整体流程是这样&#xff1a; 分句 原文是按照段落组织的&#xf…