YARN-HA配置

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了YARN-HA配置相关的知识,希望对你有一定的参考价值。


1 YARN-HA工作机制

1)官方文档:

​http://hadoop.apache.org/docs/r2.7.2/hadoop-yarn/hadoop-yarn-site/ResourceManagerHA.html​

2)YARN-HA工作机制

YARN-HA配置_hdfs

2 配置YARN-HA集群

0)环境准备

(1)修改IP

(2)修改主机名及主机名和IP地址的映射

(3)关闭防火墙

(4)ssh免密登录

(5)安装JDK,配置环境变量等

       (6)配置Zookeeper集群

1)规划集群

hadoop102                         hadoop103                        hadoop104           

NameNode                         NameNode

JournalNode                        JournalNode                        JournalNode         

DataNode                           DataNode                           DataNode            

ZK                                     ZK                                     ZK

ResourceManager                ResourceManager

NodeManager                      NodeManager                      NodeManager       

2)具体配置

(1)yarn-site.xml

<configuration>

 

    <property>

        <name>yarn.nodemanager.aux-services</name>

        <value>mapreduce_shuffle</value>

    </property>

 

    <!--启用resourcemanager ha-->

    <property>

        <name>yarn.resourcemanager.ha.enabled</name>

        <value>true</value>

    </property>

 

    <!--声明两台resourcemanager的地址-->

    <property>

        <name>yarn.resourcemanager.cluster-id</name>

        <value>cluster-yarn1</value>

    </property>

 

    <property>

        <name>yarn.resourcemanager.ha.rm-ids</name>

        <value>rm1,rm2</value>

    </property>

 

    <property>

        <name>yarn.resourcemanager.hostname.rm1</name>

        <value>hadoop102</value>

    </property>

 

    <property>

        <name>yarn.resourcemanager.hostname.rm2</name>

        <value>hadoop103</value>

    </property>

 

    <!--指定zookeeper集群的地址-->

    <property>

        <name>yarn.resourcemanager.zk-address</name>

        <value>hadoop102:2181,hadoop103:2181,hadoop104:2181</value>

    </property>

 

    <!--启用自动恢复-->

    <property>

        <name>yarn.resourcemanager.recovery.enabled</name>

        <value>true</value>

    </property>

 

    <!--指定resourcemanager的状态信息存储在zookeeper集群-->

    <property>

        <name>yarn.resourcemanager.store.class</name>     <value>org.apache.hadoop.yarn.server.resourcemanager.recovery.ZKRMStateStore</value>

</property>

 

</configuration>

       (2)同步更新其他节点的配置信息

3)启动hdfs

(1)在各个JournalNode节点上,输入以下命令启动journalnode服务:

sbin/hadoop-daemon.sh start journalnode

(2)在[nn1]上,对其进行格式化,并启动:

bin/hdfs namenode -format

sbin/hadoop-daemon.sh start namenode

(3)在[nn2]上,同步nn1的元数据信息:

bin/hdfs namenode -bootstrapStandby

(4)启动[nn2]:

sbin/hadoop-daemon.sh start namenode

(5)启动所有datanode

sbin/hadoop-daemons.sh start datanode

(6)将[nn1]切换为Active

bin/hdfs haadmin -transitionToActive nn1

4)启动yarn

(1)在hadoop102中执行:

sbin/start-yarn.sh

(2)在hadoop103中执行:

sbin/yarn-daemon.sh start resourcemanager

(3)查看服务状态

bin/yarn rmadmin -getServiceState rm1

YARN-HA配置_元数据_02

 

HDFS Federation架构设计

  1. NameNode架构的局限性

(1)Namespace(命名空间)的限制

由于NameNode在内存中存储所有的元数据(metadata),因此单个namenode所能存储的对象(文件+块)数目受到namenode所在JVM的heap size的限制。50G的heap能够存储20亿(200million)个对象,这20亿个对象支持4000个datanode,12PB的存储(假设文件平均大小为40MB)。随着数据的飞速增长,存储的需求也随之增长。单个datanode从4T增长到36T,集群的尺寸增长到8000个datanode。存储的需求从12PB增长到大于100PB。

(2)隔离问题

由于HDFS仅有一个namenode,无法隔离各个程序,因此HDFS上的一个实验程序就很有可能影响整个HDFS上运行的程序。

       (3)性能的瓶颈

       由于是单个namenode的HDFS架构,因此整个HDFS文件系统的吞吐量受限于单个namenode的吞吐量。

2)HDFS Federation架构设计

能不能有多个NameNode

NameNode                                NameNode                                NameNode

元数据                                      元数据                                      元数据

Log                                           machine                                     电商数据/话单数据

YARN-HA配置_元数据_03

3)HDFS Federation应用思考

不同应用可以使用不同NameNode进行数据管理

       图片业务、爬虫业务、日志审计业务

Hadoop生态系统中,不同的框架使用不同的namenode进行管理namespace。(隔离性)

以上是关于YARN-HA配置的主要内容,如果未能解决你的问题,请参考以下文章

HDFS HA之手动高可用故障转移配置自动高可用故障转移配置配置YARN-HA集群

Hadoop(25)-高可用集群配置,HDFS-HA和YARN-HA

HadoopHDFS HA高可用

JAVA代码根据经纬度范围计算WGS84与谷歌全球墨卡托包含的切片数目与拼接图像像素尺寸

Labview读取二维码

多线程按顺序打印数字,支持配置线程数目和打印数字结尾