hadoop,spark,kafka交流群:224209501
标签(空格分隔): hadoop
本文主要完成以下内容:
1) HDFS HA(高可用性)原理(把握四大要点),最好自己作图
2) 依据官方文档及课程讲解配置HDFS HA启动并测试
3) YARN ResouceManager HA和ResouceManager Restart 功能及配置部署与测试。
1,背景
- Hadoop2.0之前,在HDFS集群中NameNode存在单点故障(SPOF)。对于只有一个NameNode的集群,若NameNode机器出现故障。则整个集群将无法使用,直到NameNode重启。
- NameNode主要在以下两个方面影响HDFS集群
(1),NameNode机器发生意外,如宕机,集群将无法使用,直到管理员重启。
(2),NameNode机器需要升级:包括软件升级和硬件升级,此时集群也将无法使用 - HDFS HA功能通过配置Active/Standby
两个NameNode实现在集群中对NameNode的热备份来解决上述问题。如果出现故障,如机器崩溃或者机器需要升级维护,这时可通过此种方式将NameNode很快的切换到另外一台机器。
1.1 HDFS HA要点
(1).保证两NameNode内存中存储文件系统的元数据要同步。
文件系统元数据变化edits文件安全性的保证也是重点。
方案:如何保证edits安全性
1,好的文件系统。比如好的硬盘
2,分布式存储日志信息。-QJM
2n+1节点管理日志 journalNode只要有n+1写成功就算成功。奇数。
3,使用ZK进行数据存储。
(2).实时接收datanode发送的心跳及块报告。
*dataNode注册
*datanode块报告
(3).Client 通过代理来访问NN.
代理(Proxy)决定访问那个处于活跃状态的NameNode。
(4).使用隔离机制保障时刻只有一个NameNode处于活跃状态。
1.2,HDFS HA设计结构图
根据四大要点HDFS HA的设计结构图:
2,QJM HA 配置
2.1 基本配置
2.1.1,NameNode HA基本配置(core-site.xml,hdfs-site.xml.)
1,ActiveNameNode与StandbyNameNode地址配置(hdfs-site.xml)
<property>
<name>dfs.nameservices</name>
<value>mycluster</value><!--集群的名字 -->
</property>
<property>
<name>dfs.ha.namenodes.mycluster</name>
<value>nn0,nn1</value><!--//两个namenode的名字 -->
</property>
<property>
<name>dfs.namenode.rpc-address.mycluster.nn0</name>
<value>miaodonghua.host:8020</value><!-- //nn0所在主机 -->
</property>
<property>
<name>dfs.namenode.rpc-address.mycluster.nn1</name>
<value>miaodonghua.host1:8020</value><!-- //nn1所在主机 -->
</property>
2,NameNode和DataNode本地存储路径配置(hdfs-site.xml)
<property>
<name>fs.defaultFS</name