hadoop学习笔记四 -- hadoop集群HA架构设计
2015-10-19 00:02
465 查看
环境:
系统:centos6.5
hadoop:2.7.1
zookeeper:3.4.6
涉及到的概念和作用解释:
zk : zookeeper,主要的作用是保证HA(high available 高可用),当一个namenode节点故障以后,切换备用namenode为主节点
FailoverControllerActive:也叫做DFSZKFailoverController,主要作用是检测namenode的状态,会用心跳的方式来判断namenode节点是否正常工作,
如果没有正常工作的话,会通知zk将备用namenode切换成主namenode
NN ACTIVE:namenode主节点,datanode的管理节点,是hdfs的组成部分,namenode会将上传到hdfs的文件的文件名,大小,在datanode的位置,等等信息放在内存中,相面会详细说namenode
NN Standby:namenode备用节点,会在主节点故障的时候替代主节点,通过 shared NN state with single writer 来保持和主节点信息的同步
shared NN state with single writer:启动后的线程名字是JournalNode,主要存放的是namenode的edits文件,也就是namenode保存在硬盘的备份,这个线程时用来同步主备namenode的内存数据
DN:是datanode的缩写,主要是存放的文件的节点,默认一个块的大小是128M,可以选择文件的备份数量
高可用架构详细说明:
##首先要说得是zookeeper,这里的zookeeper是用来通过心跳机制来监测主备的namenode的状态,当主namenode出现故障的时候就会切换备namenode为主节点,实现了高可用的特性;
##FailoverControllerActive:这个是使用rpc来实现的心跳机制来
##然后要说到hdfs了,hdfs是由namenode,datanode组成的(单机情况下会有secondarynamenode,主要是用于定时将内存中namenode存储的信息保存到硬盘),namenode中主要存储的上传的文件的信息,对应多个datanode,namenode在单机情况下会通过secondaryNamenode的http方式来将内存中的数据保存到磁盘文件上(edits),在集群下,是要通过shared NN state with single writer(fense)来替代secondarynamenode,使用fense对比secondary,就好像集群对比单机一样,更可靠,然后两个节点的namenode通过fense来同步数据,可以保证数据一致性,当一个节点故障的时候,zk会迅速切换另一个节点,保证高可靠性;
##然后mapreduce是由nodemanager和resourcemanager构成的,nodemanager最好和datanode在一台机器上,因为一些任务需要下载文件分析,会在datanode上下载文件
,在一台机器上可以加快执行速度。
可能上面的描述还是不够明白,下面会详细解释两个地方:
一:hdfs的工作原理
二:mapreduce的工作原理
系统:centos6.5
hadoop:2.7.1
zookeeper:3.4.6
涉及到的概念和作用解释:
zk : zookeeper,主要的作用是保证HA(high available 高可用),当一个namenode节点故障以后,切换备用namenode为主节点
FailoverControllerActive:也叫做DFSZKFailoverController,主要作用是检测namenode的状态,会用心跳的方式来判断namenode节点是否正常工作,
如果没有正常工作的话,会通知zk将备用namenode切换成主namenode
NN ACTIVE:namenode主节点,datanode的管理节点,是hdfs的组成部分,namenode会将上传到hdfs的文件的文件名,大小,在datanode的位置,等等信息放在内存中,相面会详细说namenode
NN Standby:namenode备用节点,会在主节点故障的时候替代主节点,通过 shared NN state with single writer 来保持和主节点信息的同步
shared NN state with single writer:启动后的线程名字是JournalNode,主要存放的是namenode的edits文件,也就是namenode保存在硬盘的备份,这个线程时用来同步主备namenode的内存数据
DN:是datanode的缩写,主要是存放的文件的节点,默认一个块的大小是128M,可以选择文件的备份数量
高可用架构详细说明:
##首先要说得是zookeeper,这里的zookeeper是用来通过心跳机制来监测主备的namenode的状态,当主namenode出现故障的时候就会切换备namenode为主节点,实现了高可用的特性;
##FailoverControllerActive:这个是使用rpc来实现的心跳机制来
##然后要说到hdfs了,hdfs是由namenode,datanode组成的(单机情况下会有secondarynamenode,主要是用于定时将内存中namenode存储的信息保存到硬盘),namenode中主要存储的上传的文件的信息,对应多个datanode,namenode在单机情况下会通过secondaryNamenode的http方式来将内存中的数据保存到磁盘文件上(edits),在集群下,是要通过shared NN state with single writer(fense)来替代secondarynamenode,使用fense对比secondary,就好像集群对比单机一样,更可靠,然后两个节点的namenode通过fense来同步数据,可以保证数据一致性,当一个节点故障的时候,zk会迅速切换另一个节点,保证高可靠性;
##然后mapreduce是由nodemanager和resourcemanager构成的,nodemanager最好和datanode在一台机器上,因为一些任务需要下载文件分析,会在datanode上下载文件
,在一台机器上可以加快执行速度。
可能上面的描述还是不够明白,下面会详细解释两个地方:
一:hdfs的工作原理
二:mapreduce的工作原理
相关文章推荐
- 天津网站建设-文率科技设计精美,量身定制
- Android系统架构、JVM和DalvikVM的区别
- 关于如何绕过zhihu网站垃圾的禁止复制页面内容的方法(未经测试验证)
- keepalived构建高可用集群
- 几个GIS网站
- Kafka剖析:Kafka背景及架构介绍
- cookie-显示用户上次访问网站的时间和清除
- _00019 Storm架构介绍和Storm获取案例(简单的官方网站Java案例)
- 第十七篇:C语言源代码精选网站
- php----网站架构简单了解
- storm社区相关网站和资料
- MySQL分片高可用集群之Fabric部署使用
- 构建iOS稳定应用架构时方案选择的思考,主要涉及工程结构,数据流思想和代码规范
- 利用Github建立你的个人网站
- Clos Network 与 Leaf Spine 架构
- 软件架构设计之常用架构模式介绍
- ARM体系架构之——处理器工作模式
- 如何进行软件架构设计?
- ARM体系架构之——汇编指令集
- 网站技术点汇总