【Hadoop】- MapReduce & YARN的部署[8]

目录

一、部署说明

二、集群规划

三、MapReduce配置文件

四、YARN配置文件

五、分发配置文件

六、集群启动命令

[七、查看YARN的WEB UI 页面](#七、查看YARN的WEB UI 页面)


一、部署说明

  • Hadoop HDFS分布式文件系统,我们会启动:
    • NameNode进程作为管理节点
    • DataNode进程作为工作节点
    • SecondaryNamenode作为辅助
  • 同理,Hadoop YARN分布式资源调度,会启动:
    • ResourceManager进程作为管理节点
    • NodeManager进程作为工作节点
    • ProxyServer、JobHistoryServer这两个辅助节点
  • MapReduce呢?
    • MapReduce运行在YARN容器内,无需启动独立进程

二、集群规划

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

集群规划如下:

|--------|----------------------------------------------------------|
| 主机 | 角色 |
| node1 | NodeManager ResourceManager ProxyServer JobHistoryServer |
| node2 | NodeManager |
| node3 | NodeManager |

三、MapReduce配置文件

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

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

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

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

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

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

  <property>
    <name>mapreduce.jobhistory.webapp.address</name>
    <value>node1:19888</value>
    <description>历史服务器web端口为node1的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>

四、YARN配置文件

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

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

    设置JDK路径的环境变量

    export JAVA_HOME=/export/server/jdk

    设置 HADOOP_HOME的环境变量

    export HADOOP_HOME=/export/server/hadoop

    设置配置文件路径的环境变量

    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>node1</value>
      <description>ResourceManager设置在nodel节点</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://node1:19888/jobhistory/logs</value>
      <description>历史服务器URL</description>
    </property>
    
    <property>
      <name>yarn.web-proxy.address</name>
      <value>node1: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>varn.resourcemanager.scheduler.class</name>
      <value>org.apache.hadoop.yarn.server.resourcemanager.scheduler.fair.FairScheduler</value>
      <description>选择公平调度器</description>
    </property>
    

五、分发配置文件

MapReduce和YARN的配置文件修改好后,需要分发到其他的服务器节点中。

 scp mapred-env.sh mapred-site.xml yarn-env.sh yarn-site.xml node2:`pwd`/
 scp mapred-env.sh mapred-site.xml yarn-env.sh yarn-site.xml node3:`pwd`/

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

六、集群启动命令

  • 一键启动YARN集群:$HADOOP_HOME/sbin/start-yarn.sh
  • 一键停止YARN集群:$HADOOP_HOME/sbin/stop-yarn.sh
  • 单独启动或停止进程
    • yarn --daemon start | stop resourcemaneger | resourcemaneger | proxyserver
    • 可控制resourcemaneger 、resourcemaneger 、proxyserver三种进程
  • 历史服务器启动和停止
    • $HADOOP_HOME/bin/mapred --daemon start | stop historyserver

七、查看YARN的WEB UI 页面

打开http://node1:8088即可查看YARN集群的监控页面

相关推荐
宅小海18 分钟前
scala String
大数据·开发语言·scala
小白的白是白痴的白19 分钟前
11.17 Scala练习:梦想清单管理
大数据
java1234_小锋35 分钟前
Elasticsearch是如何实现Master选举的?
大数据·elasticsearch·搜索引擎
JessieZeng aaa3 小时前
CSV文件数据导入hive
数据仓库·hive·hadoop
Java 第一深情5 小时前
零基础入门Flink,掌握基本使用方法
大数据·flink·实时计算
MXsoft6185 小时前
华为服务器(iBMC)硬件监控指标解读
大数据·运维·数据库
PersistJiao6 小时前
Spark 分布式计算中网络传输和序列化的关系(二)
大数据·网络·spark·序列化·分布式计算
九河云6 小时前
如何对AWS进行节省
大数据·云计算·aws
FreeIPCC6 小时前
谈一下开源生态对 AI人工智能大模型的促进作用
大数据·人工智能·机器人·开源
梦幻通灵7 小时前
ES分词环境实战
大数据·elasticsearch·搜索引擎