博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Master选举原理
阅读量:5095 次
发布时间:2019-06-13

本文共 716 字,大约阅读时间需要 2 分钟。

为什么需要Zookeeper?

为了防止集群的主NameNode挂掉,再另创建一个辅NameNode,两个保持数据同步,一旦主NameNode挂掉,集群就会把辅NameNode节点作为整个集群的主NameNode,而在这之间就需要用到Zookeeper来协调,帮助辅NameNode成为整个集群的主NameNode。

在这里Zookeeper是实现的master选举机制完成这一过程,选举机制分两种:

    第一种:谁先创建master临时节点,谁就是master,当一个master挂掉了,master节点就消失了,别的节点就会监听到,就会继续去创建master临时节点,以此类推,利用Zookeeper的两个特点(一个节点只能成功创建一次、利用监听的机制)
    第二种:在master下面创建临时有序节点,那个节点最小,那个就是master,节点挂掉,下面那个临时节点就会监听到上面的临时节点挂掉了,从而取代成为master,以此类推,(利用Zookeeper创建节点临时有序的特性)

第二种master选举机制利用Curator的API写:LeaderSelectionApp.java

打包上传到各个节点运行:
java -cp zookeeper-course-1.0-SNAPSHOT-jar-with-dependencies.jar com.twq.zk.usage.LeaderSelectionApp
master、slave1、slave2轮流成为master
两种选举机制示意图:
第一种:
第二种:

转载于:https://www.cnblogs.com/jichui/p/10444812.html

你可能感兴趣的文章
Node.js:连接 MongoDB
查看>>
monkey脚本
查看>>
#define、const、typedef的差别
查看>>
delphi的取整函数round、trunc、ceil和floor
查看>>
[bzoj 3622]已经没有什么好害怕的了
查看>>
两个经典的小例子:杨辉三角和水仙花
查看>>
call,apply,bind
查看>>
Asp.Net Core- 多样性的配置来源
查看>>
安装Apache提示APR not found的解决办法
查看>>
深入探索Nginx工作原理
查看>>
伪元素应用之一(转)
查看>>
【CSS/JS】如何实现单行/多行文本溢出的省略(...)--老司机绕过坑道的正确姿势...
查看>>
软件工程 speedsnail 第二次冲刺4
查看>>
[Python数据挖掘]第4章、数据预处理
查看>>
在Intellij IDEA中使用Debug
查看>>
洛谷P3113 [USACO14DEC]马拉松赛跑Marathon_Gold 线段树维护区间最大值 模板
查看>>
如何区分el表达试与jquery
查看>>
string 线程安全
查看>>
css三类选择器 用法 引用
查看>>
android studio jni调用入门
查看>>