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

目录

一、部署说明

二、集群规划

三、开始配置

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

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

猜你喜欢

转载自blog.csdn.net/YuanFudao/article/details/132758449
今日推荐