大数据实战项目之新闻话题分析 学习笔记(六)——Zookeeper分布式集群部署

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Shrynh/article/details/87889542

第7章:hadoop2.x HA架构与部署

包括两方面内容:hdfs、yarn。

  • hdfs配置中主要是namenode:因为负责存储数据存储的元数据。
  • yarn配置中主要是resourcemanager:集群资源的管理和任务调度的节点。
hdfs-HA架构原理介绍

在这里插入图片描述
在这里插入图片描述
备注:

  • Namenode主要两部分:Fslmage(源数据整理,会根据Edits定期更新)、Edits(数据记录)
  • namenode相当于字典索引,如果namenode挂掉,则不能对外提供hdfs服务。
  • standby节点会通过JournalNode节点(来自Active记录的日志)备份日志。
  • Zookeeper上启动观察者模式,观察namenode的状态以及是否实施故障转移。
  • JournalNode是保证Edits日志的完整性(有副本数,同datanode)、保证另一台namenode实时获取日志信息。这个节点服务是轻量级的,所以可以放在namenode或者datanode或者其他的节点服务器上。
  • activeNamenode和standbyNamenode实时保持同步,并且也都会接受来自datanode的心跳报告。
hdfs-HA详细配置

HDFS-HA

机器1 机器2 机器3
namenode namenode
datanode datanode datanode
journalnode journalnode journalnode
Zookeeper Zookeeper Zookeeper
zkfc zkfc

详细参考官方网站配置:
http://hadoop.apache.org/docs/r2.5.2/hadoop-project-dist/hadoop-hdfs/HDFSHighAvailabilityWithQJM.html
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

基于Zookeeper的HA配置
hdfs-HA服务启动及自动故障转移测试

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

  • 特别注意:
    在重新格式化namenode时必须先启动journalnode,因为journalnode用于记录HA日志。不然会报错。

HA测试:

  • 测试手动HA:
    将namenode1进程kill掉,之后standby节点变为active状态,hdfs也可以访问。
yarn-HA架构原理介绍

在这里插入图片描述备注:
yarn-ha实际上要比hdfs-ha实现上要简单一点:在yarn-ha中,只需要RM向Zookeeper写它的状态就好(不需要配置内部的journalnode服务节点)

yarn-HA详细配置

RM-HA

机器1 机器2 机器3
resourcemanager resourcemanager
nodemanager nodemanager nodemanager

在这里插入图片描述
在这里插入图片描述
(备注:不像hdfs-ha一样,需要额外启动一个自动故障转移进程zkfc,因为它是把类似的功能弄到自身的一个线程里去了)

yarn-HA服务启动及自动故障转移测试

步骤:
1.启动两个resourcemanager进程
2.启动三个nodemanager进程
3.测试mapreduce wordcount程序

在跑map任务的时候,将active RM节点的RM进程干掉
在这里插入图片描述由图可见,RM服务由RM1转移到RM2了。所以验证HA自动故障转移成功

备注:

  • 如果运行之后,手动输入standby的RM的地址,会自动跳转到active节点的RM地址

说明:
此系列文章为网课学习时所记录的笔记,希望给同为小白的学习者贡献一点帮助吧,如有理解错误之处,还请大佬指出。学习不就是不断纠错不断成长的过程嘛~

猜你喜欢

转载自blog.csdn.net/Shrynh/article/details/87889542