Bootstrap

第四记·YARN配置以及启动、历史服务配置启动

YARN与历史服务配置

 XY个人笔记


任务调度 (Mapreduce)

资源管理(resourcemanager nodemanager)

【Yarn架构】

主从架构:

    主节点ResourceManager

     从节点NodeManager

1. ResourceManager(RM)
   全局的资源管理器,整个集群只有一个,负责集群资源的统一管理和调度分配
2. ApplicationMaster(AM)
   用户提交的每个应用程序均包含1个AM,
    主要功能包括:与RM调度器协商以获取资源(用Container表示);
        将得到的任务进一步分配给内部的任务;
        与NM通信以启动/停止任务;
        监控所有任务运行状态,并在任务运行失败时重新为任务申请资源以重启任务。
3. NodeManager(NM)
        NM是每个节点上的资源和任务管理器,一方面,它会定时地向RM汇报本节点上的
        资源使用情况和各个Container的运行状态;另一方面,它接收并处理来自AM的
        Container启动/停止等各种请求。
4. Container
        Container是YARN中的资源抽象,它封装了某个节点上的多维度资源,
        如内存、CPU、磁盘、网络等,当AM向RM申请资源时,RM为AM返回的资源
        便是用Container表示的。YARN会为每个任务分配一个Container,且该任

        务只能使用该Container中描述的资源。


下面来开始配置

配置yarn-site.xml文件

更改为自己的主机名

<!-- 指定ResorceManager所在服务器的主机名-->
<property>
    <name>yarn.resourcemanager.hostname</name>
    <value>hadoop01.com</value>
</property>

<!-- 指明在执行MapReduce的时候使用shuffle-->
<property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
</property>


复制并重名模板文件

$ cp etc/hadoop/mapred-site.xml.template etc/hadoop/mapred-site.xml
配置mapred-site.xml文件

<configuration>
	<!-- 指定MapReduce基于Yarn来运行-->
	<property>
		<name>mapreduce.framework.name</name>
		<value>yarn</value>
	</property>
</configuration>


配置完成后启动resourcemanager和nodemanager


$ sbin/yarn-daemon.sh start resourcemanager
$ sbin/yarn-daemon.sh start nodemanager

查看进程均启动成功。

yarn 的试用方法

$ bin/yarn

试用yarn简单的跑一个pi圆周率

$ bin/yarn jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.3.jar pi 5 3

运行一个词频统计

在datas目录上传一个test.txt文件

$ bin/hdfs dfs -put /opt/datas/test.txt /
//查看是否上传成功
$ bin/hdfs dfs -ls /
$ bin/yarn jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.3.jar wordcount /test.txt /output




当我们点击tmp的时候发现没有权限,我们需要配置权限检测



当我们点击logs的时候发现没有日志,我们还需要配置日志聚合和历史服务



配置之前需要关闭所有守护进程


$ killall java

配置日志聚合、权限检测的配置

在文件mapred-site.xml文件中配置


  <property>
    <name>mapreduce.jobhistory.address</name>
    <!--配置实际的主机名和端口-->
    <value>[hostname]:10020</value>
  </property>

  <property>
    <name>mapreduce.jobhistory.webapp.address</name>
    <value>[hostname]:19888</value>
  </property>


<!--启用日志聚合功能-->
<property>
    <name>yarn.log-aggregation-enable</name>
    <value>true</value>
</property>
<!--日志保存时间 默认保存3-7-->	
<property>
    <name>yarn.log-aggregation.retain-seconds</name>
    <value>86400</value>
</property>




  <property>
    <name>dfs.permissions.enabled</name>
    <value>false</value>
  </property>

配置完成。

启动所有进程


$ sbin/hadoop-daemon.sh start namenode
$ sbin/hadoop-daemon.sh start datanode
$ sbin/hadoop-daemon.sh start secondarynamenode
$ sbin/yarn-daemon.sh start resourcemanager
$ sbin/yarn-daemon.sh start nodemanager

启动历史服务

$ sbin/mr-jobhistory-daemon.sh start historyserver


再次运行词频统计

略...   查看history


tmp也可以进入



;