hdfs、zookeepeer之HA模式

HA简介

1.所谓HA,即高可用(high available)

2.消除单点故障,避免集群瘫痪,hdfs中namenode保存了整个集群的元数据,如果namenode所在机器宕机,则整个集群瘫痪,HA

 能够即使将备用的namenode替代宕机节点的namenode

3.当机器出现故障,或需要升级等操作时,HA起到了很好的作用

准备工作

1.硬件需求

  三台主机(网络均能ping通、ssh免密服务) 

2.软件需求

  ①jdk        我使用的是jdk1.8.0_131

  ②hadoop         我使用hadoop-2.7.2

  ③zookeeper          我使用zookeeper-3.4.10

以上软件单独的配置我就不说了,网上有很多安装教程,下面我主要说明搭建HA的一些原理、步骤。

HA工作原理

图解:

说明:

①集群文件共享区主要存放每个处于active的namenode所写的edit-profile文件和fsimage镜像,供其它备份的namenode节点(即standby namenode)

 同步,及时更新集群的元数据信息

②代理区的FailoverController有active和standby两种,它们分别控制同一主机上namenode,防止脑裂现象(brain split)

 如:当主机hadoop1和主机hadoop2网络连接异常时,原本hadoop1上的namenode为active,它并没有宕机,而主机hadoop2认为它宕机了,FailoverControlle

   stanby 准备将自己主机上的namenode提升为active状态

   为了防止脑裂现象,FailoverController stanby会先发送请求给FailoverController active去将它控制的namenode改变为stanby状态,之后hadoop2的namenode

   才能为active状态

③JournalNode的作用:两个NameNode为了数据同步,会通过一组称作JournalNodes的独立进程进行相互通信。当active状态的NameNode的命名空间有任何修改时,

   会告知大部分的JournalNodes进程。standby状态的NameNode有能力读取JNS中的变更信息,并且一直监控edit log的变化,把变化应用于自己的命名空间。

   standby可以确保在集群出错时,命名空间状态已经完全同步了。

④zookeeper投票选举:zookeeper集群通过心跳检测,监视着集群中各个节点的健康状态,如果发现有节点下线,将自动删除该节点在zookeeper中的信息,进行重新

   投票选举。

   选举制度  

  • 默认选举节点数大的作为leader
  • leader必须得到集群中半数以上的节点的选举 
  • 票数相当时,节点值小的节点把自己的票数给大的

     

        

原文地址:https://www.cnblogs.com/jim0816/p/10137066.html

时间: 2024-07-29 08:58:22

hdfs、zookeepeer之HA模式的相关文章

HA模式强制手动切换:IPC's epoch [X] is less than the last promised epoch [X+1]

016-11-30 21:13:14,637 WARN org.apache.hadoop.hdfs.qjournal.client.QuorumJournalManager: Remote journal 192.168.58.183:8485 failed to write txns 54560-54560. Will try to write to this JN again after the next log roll. at org.apache.hadoop.hdfs.qjourn

HA模式下历史服务器配置

笔者的集群是 HA 模式的( HDFS 和 ResourceManager HA).在 ” Hadoop-2.5.0-cdh5.3.2 HA 安装" 中详细讲解了关于 HA 模式的搭建,这里就不再赘述.但网上直接将关于 HA 模式下的历史服务器的配置资料却很少. 笔者在思考,如果配置在 mapred-site.xml 中就设置一台历史服务器,那么当这台机器挂了,那么能不能有另一台机器来承担历史服务器的责任,也就是笔者理想当然的 jobhistory server HA 模式.后面经过各自尝试,得

Hadoop在HA模式下远程上传文件的实现

在非HA模式下,只须如下代码就可以轻松实现上传文件,标红的这句是关键 public class CopyToHDFS { public static void main(String[] args) throws IOException { Configuration conf = new Configuration(); conf.set("fs.defaultFS", "hdfs://master:9000"); FileSystem fs = FileSyst

搭建HBase的本地模式、伪分布式、全分布式和HA模式

一.安装HBase: 我这里选择的是hbase-1.3.1-bin.tar.gz版本解压HBase: tar -zxvf hbase-1.3.1-bin.tar.gz -C ~/training 配置HBase的环境变量: export HBASE_HOME=/root/training/hbase-1.3.1 ? export PATH=$HBASE_HOME/bin:$PATH 生效环境变量: source ~/.bash_profile 二.HBase的安装模式: 1.本地模式: 特点:只

HDFS中高可用性HA的讲解

HDFS中高可用性HA的讲解 HDFS Using QJM HA使用的是分布式的日志管理方式 一:概述 1.背景 如果namenode出现问题,整个HDFS集群将不能使用. 是不是可以有两个namenode呢 一个为对外服务->active 一个处于待机->standby 他们的之间共享的元数据交 nameservice 2.HDFS HA的几大中重点 1)保证两个namenode里面的内存中存储的文件的元数据同步 ->namenode启动时,会读镜像文件 2)变化的记录信息同步 3)日

HA 模式下的 Hadoop2.7.4+ZooKeeper3.4.10搭建

一.概述 本次实验采用VMware虚拟机,linux版本为CentOS7: 因为实验所需的5台机器配置大多相同,所以采用配置其中一台,然后使用克隆功能复制另外4份再做具体修改: 其中有些步骤以前配置过,此处就说明一下不再做具体配置,具体配置可翻阅以前的博文. 二.实验环境 1.关闭selinux和firewall 2.hadoop-2.7.4.tar.gz:zookeeper-3.4.10.tar.gz:jdk-8u131-linux-x64.tar.gz 三.主机规划 IP Host 进程 1

hadoop2.x hdfs完全分布式 HA 搭建

官网链接 hadoop配置文件主页:http://hadoop.apache.org/docs/r2.5.2/ HDFS hapdoop HA全分布配置:http://hadoop.apache.org/docs/r2.5.2/hadoop-project-dist/hadoop-hdfs/HDFSHighAvailabilityWithQJM.html 总结步骤: 准备工作: 1. 配置java环境变量 可以在/etc/profile 或者在/root/.bash_profile中进行配置 2

HDFS---NameNode管理元数据及HA模式

NameNode主要保存了下面的内容 1-Block和文件之间的关系,即某一个特定文件都有哪些Block: 2-每一个Block存储在什么位置(DataNode上面): NameNode如何保证元数据的可靠性 fsimage 和内存中保存的元数据互为镜像: edits.log中存储了一段时间内所有的元数据操作:edits.log文件大小是固定的(默认是64M),那么每当edits.log文件满了,那么将这段时间之内新产生的元数据加到fsimage中,注意这个过程不是直接在内存中持久化,而是将ed

转发-【分享】思科无线控制器HA模式升级

思科无线控制器HA模式下升级文档 当前使用版本:8.0.120.0 计划升级版本:8.2.151.0 其他工具: TFTP Server: 3CDaemon 远程登录:SecureCRT 升级前准备工作: 1.      检查当前镜像版本: CLI方式检查:show boot 2.      检查当前WLC 5508 HA状态 CLI方式检查:show redundancy summary 需注意观察,当前冗余模式Local State状态为Active(主)还是Standby Hot(备),此