实验3: Yarn和Zookeeper的安装和配置


目录

  • 实验3: Yarn和Zookeeper的安装和配置
  • 1 实验目的
  • 2 实验平台
  • 3 实验内容和要求


1 实验目的

  1. 了解Yarn和Zookeeper在Hadoop体系结构中的角色;
  2. 进一步熟悉Hadoop体系中各组件的配置文件的配置使用;
  3. 了解Yarn和Zookeeper的安装配置和操作。

2 实验平台

操作系统:Linux
Hadoop版本:2.7.1或以上版本
JDK版本:1.6或以上版本
Java IDE:Eclipse
Zookeeper版本:zookeeper-3.4.5-cdh5.14.2

3 实验内容和要求

一、在Linux中按要求完成Yarn的基础配置:

(1)配置YARN需要修改yarn-site.xml 和 mapred-site.xml两个配置文件,到hadoop存放配置文件的目录中找到这两个文件,如果默认没有mapred-site.xml文件,但是有一个mapred-site.xml.template,cp改名一个就好了;

  • 先找到yarn-site.xml的位置(/usr/local/local/hadoop/etc/hadoop/yarn-site.xml)
  • 使用vim打开,添加如下代码
<configuration>

<!-- Site specific YARN configuration properties -->
        <property>
                <name>yarn.nodemanger.aux-sercices</name>
                <value>mapreduce_shuffle</value>
        </property>
        <property>
                <name>yarn.nodemanager.resource.memory-mb</name>
                <value>20480</value>
        </property>
        <property>
                <name>yarn.scheduler.minimum-allocation-mb</name>
                <value>2048</value>
        </property>
        <property>
                <name>yarn.nodemanager.vmem-pmem-ratio</name>
                <value>2.1</value>
        </property>
        <property>
                <name>yarn.resourcemanager.hostname</name>
                <value>hadoop</value>
        </property>
        <property>
                <name>yarn.nodemanager.disk-health-checker.min-healthy-disks</name>
                <value>0.0</value>
        </property>
        <property>
                <name>yarn.nodemanager.disk-health-checker.max-disk-utilization-per-disk-percentage</name>
                <value>99.0</value>
        </property>
</configuration>
  • mapred-site.xml的同理,添加如下代码
<configuration>
        <property>
                <name>mapreduce.framework.name</name>
                <value>yarn</value>
        </property>
</configuration>

(2)打开这两个配置文件,进行相应的修改;

yarn-site.xml修改的结果如图:

yarn 修改镜像配置_yarn 修改镜像配置


mapred-site.xml修改的结果如图:

yarn 修改镜像配置_hadoop_02


(3)保存并退出之后,启动ResourceManager和NodeManager守护进程:;

yarn 修改镜像配置_大数据_03


(4)Yarn配置以及启动成功之后,使用web查看其运行状态;

yarn 修改镜像配置_yarn 修改镜像配置_04


(5)查看之后,停止ResourceManager和NodeManager守护进程;

yarn 修改镜像配置_hadoop_05


二、完成Yarn的容错机制的配置

Yarn的容错机制以及HA同样都是在yarn-site.xml中进行配置:

(6)配置ResourceManager的自动重启;

<!--<启用resourcemanager 自动恢复>-->
        <property>
                <name>yarn.resourcemanager.recovery.enabled</name>
                <value>true</value>
        <property>

(7)RM 自动重启时,用于状态存储的类:RM在重启时,会从一个状态存储的文件中加载应用程序的信息;

<!--<RM自动重启时,用于状态存储的类>-->
        <property>
                <name>yarn.resourcemanager.store.class</name>
                <value>org.apache.hadoop.yarn.server.resourcemanager.recovery.ZKRMStateStore</value>
        </property>

(8)指定集成的ZooKeeper 的服务地址;

<!--<用于状态存储的ZooKeeper 的服务地址>-->
        <property>
                <name>yarn.resourcemanager.zk-address</name>
                <value>hadoop: 2181</value>
        </property>

(9)加入配置文件中,如图所示:

yarn 修改镜像配置_yarn_06


(10)配置ResourceManager的高可用;

打开RM的高可用

<!--<打开RM的高可用>-->
        <property>
                <name>yarn.resourcemanager.ha.enabled</name>
                <value>true</value>
        </property>

(11)指定主RM和备用RM的名字。

<!--<指定RMs的主备逻辑id 列表,即指定RMs的名字>-->
        <property>
                <name> yarn.resourcemanager.ha.rm-ids </name>
                <value> rm1,rm2 </value>
        </property>

(12)指定主RM和备用RM对应的主机

<!--<指定RM(逻辑id"rm1,rm2"由上一步配置自定义)对应的主机名>-->
        <property>
                <name>yarn.resourcemanager.hostname.rm1</name>
                <value>master</value>
        </property>
        <property>
                <name>yarn.resourcemanager.hostname.rm2</name>
                <value>slave1</value>
        </property>

(13)开启自动故障转移(自动选举)

<!--<是否启用自动故障转移>-->
        <property>
                <name>yarn.resourcemanager.ha.automatic-failover.enabled</name>
                <value>true</value>
        </property>

(14)启动自动故障转移后,使用内置的leader选举机制:

<!--<当启用自动故障转移后,使用内置的leader选举来选主RM >-->
        <property>
                <name>yarn.resourcemanager.ha.automatic-failover.embedded</name>
                <value>true</value>
        </property>

(15)加入配置文件中,如图所示,然后保存关闭

yarn 修改镜像配置_yarn_07


三、完成Zookeeper的安装与配置

(16)下载ZooKeeper,本次课使用的是CDH版本的ZooKeeper安装包, 版本为zookeeper-3.4.5-cdh5.14.2,

下载地址:点击此处

(17)下载完成之后,在”下载“目录里找到相应的安装包,并解压安装包zookeeper-3.4.5-cdh5.14.2.tar.gz至路径 /usr/local

  • 在“下载”目录打开终端,输入命令:
tar -zxvf zookeeper-3.4.5-cdh5.14.2.tar.gz
sudo mv zookeeper-3.4.5-cdh5.14.2 /usr/local

(18)将解压的文件夹zookeeper-3.4.5-cdh5.14.2改名为zookeeper(为了后续的方便),并且修改文件权限给root(我自己的是chuck)账户

yarn 修改镜像配置_大数据_08


yarn 修改镜像配置_大数据_09

(19)配置环境变量:为了方便使用,需把zookeeper加入到环境变量中去,打开保存环境变量的文件,在前面加上

yarn 修改镜像配置_zookeeper_10


yarn 修改镜像配置_yarn 修改镜像配置_11


保存退出后,使环境变量立即生效

(20)ZooKeeper的安装完成之后,需要对其进行配置,Zookeeper的主配置文件 zoo.cfg位于zookeeper的/conf目录下,刚安装好的zookeeper默认是没有该文件的,但是提供了zoo_sample.cfg模板文件,我们可以根据此模板文件来创建zoo.cfg:

首先找到zoo_sample.cfg模板文件,根据它来创建zoo.cfg文件:即复制一个zoo_sample.cfg模板文件,并将其名字改成zoo.cfg

yarn 修改镜像配置_yarn 修改镜像配置_12


(21)接下来需要对这个zoo.cfg文件进行配置,主要是要配置zookeeper的数据文件目录dataDir,此数据文件默认放在/tmp下面,系统重启则会清空数据,因此需要将dataDir的值设置为自己的本地路径首先在zookeeper的安装目录下面,创建本地的数据文件目录zkData

yarn 修改镜像配置_hadoop_13


(22)然后配置dataDir,即打开zoo.cfg,找到其中的dataDir,将它的值设置为刚才所创建的zkData:

dataDir=/usr/local/zookeeper/zkData

yarn 修改镜像配置_yarn 修改镜像配置_14

(23)接下来需配置zookeeper的日志路径,在zookeeper的安装目录下面,创建zookeeper的日志文件存放目录logs

yarn 修改镜像配置_yarn 修改镜像配置_15

(24)进入zookeeper的 “libexec” 目录,找到zkEnv.sh文件,我们需要配置其中的ZOO_LOG_DIR条目:

yarn 修改镜像配置_hadoop_16

找到并打开zkEnv.sh文件,打开之后找到ZOO_LOG_DIR条目,将ZOO_LOG_DIR条目的值设置为刚才所创建的zookeeper的日志文件存放目录logs:

ZOO_LOG_DIR=/usr/local/zookeeper/logs

设置完成之后,保存退出

yarn 修改镜像配置_hadoop_17


(25)ZooKeeper的安装与配置完成之后,尝试启动运行它,需进入到zookeeper的安装目录的“bin”目录下,然后用以下命令启动zookeeper启动命令为:

./zkServer.sh start

若启动成功,则显示:

yarn 修改镜像配置_yarn_18

(26)可以用以下命令查看zookeeper的运行模式:

./zkServer.sh status

若显示如图,则表示表示是单机运行模式:

yarn 修改镜像配置_hadoop_19

(27)其他验证:查看zookeeper的运行模式:用jps查看启动的进程

若显示2565 QuorumPeerMain,表示zookeeper已经安装完成并且成功启动了

yarn 修改镜像配置_大数据_20

(28)最后停止zookeeper的使用

yarn 修改镜像配置_yarn_21