Zookeeper搭建集群及协同
Zookeeper搭建集群及协同
协同的实现
首先启动一个zkCli客户端(zkCLi-1),创建一个workers节点。
create /workers
使用ls监控当前节点。
ls -w /workers
[]
当前/workers中没有子节点。
新开一个zkCli客户端(zkCli-2),在/workers中创建一个新节点。
create -e /workers/w1 "w1:2220"
此时zkCli-1中收到通知。
WATCHER::
WatchedEvent state:SyncConnected type:NodeChildrenChanged path:/workers
使用ls在zkCli-1中查看节点信息。
ls -w /workers
返回
[w1]
此时在zkCli-2中执行quit退出。
zkCli-1中再次用ls查看。
[]
这样一个简单的协同服务就已经实现了。
集群搭建
在我们上一篇说的什么是挖矿?一文中,最后留下了一个问题,DPoS算法,这个类似于选举的算法。
Zookeeper集群中,也是使用了一种类似的选举算法,感兴趣的可以去了解一下Paxos算法的论文。
http://lamport.azurewebsites.net/pubs/paxos-simple.pdf
在Zookeeper集群中被选举出来的节点叫做leader,其他节点叫做follow。
为了方便演示,我将我本地的Zookeeper拷贝为了三份,不过记得修改它们三份中的配置文件。
需要修改的是dataDir的路径以及端口号。
服务器0中zoo.cfg
//修改部分
dataDir=/tmp/zookeeper/data0
clientPort=2190
//新增部分(三份cfg均相同)
server.0=127.0.0.1:3333:3334
server.1=127.0.0.1:4444:4445
server.2=127.0.0.1:5555:5556
服务器1中zoo.cfg
//修改部分
dataDir=/tmp/zookeeper/data1
clientPort=2191
//新增部分(三份cfg均相同)
server.0=127.0.0.1:3333:3334
server.1=127.0.0.1:4444:4445
server.2=127.0.0.1:5555:5556
服务器2中zoo.cfg
//修改部分
dataDir=/tmp/zookeeper/data2
clientPort=2192
//新增部分(三份cfg均相同)
server.0=127.0.0.1:3333:3334
server.1=127.0.0.1:4444:4445
server.2=127.0.0.1:5555:5556
分别启动三个Zookeeper服务端。

可以看到已经自动选出了一个Leader节点。
此时我们启动一个zkCli来使用这个三节点集群。
./zkCli.sh -server 127.0.0.1:2190,127.0.0.1:2191,127.0.0.1:2192

可以看到zkCli已经连接到port为2191的节点,也就是服务器1(一个Follower节点)。
现在我们关闭服务器1。

Zookeeper搭建集群及协同的更多相关文章
- ZooKeeper搭建集群
ZooKeeper ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件.它是一个为分布式应用提供一致性 ...
- Zookeeper分布式集群搭建
实验条件:3台安装linux的机子,配置好Java环境. 步骤1:下载并分别解包到每台机子的/home/iHge2k目录下,附上下载地址:http://mirrors.cnnic.cn/apache/ ...
- 初始zookeeper与集群搭建实例
zookeeper是什么 Zookeeper,一种分布式应用的协作服务,是Google的Chubby一个开源的实现,是Hadoop的分布式协调服务,它包含一个简单的原语集,应用于分布式应用的协作服务, ...
- 虚拟机搭建Zookeeper服务器集群完整笔记
虚拟机搭建Zookeeper服务器集群完整笔记 本笔记主要记录自己搭建Zookeeper服务器的全过程,默认已经安装部署好Centos7. 一.虚拟机下Centos无法联网解决方案 1.首先调整虚拟机 ...
- window环境搭建zookeeper,kafka集群
为了演示集群的效果,这里准备一台虚拟机(window 7),在虚拟机中搭建了单IP多节点的zookeeper集群(多IP节点的也是同理的),并且在本机(win 7)和虚拟机中都安装了kafka. 前期 ...
- 搭建zookeeper+kafka集群
搭建zookeeper+kafka集群 一.环境及准备 集群环境: 软件版本: 部署前操作: 关闭防火墙,关闭selinux(生产环境按需关闭或打开) 同步服务器时间,选择公网ntpd服务器或 ...
- win10环境下搭建zookeeper伪集群
一.下载zookeeper https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/ 这里笔者下载的是zookeeper-3.3.6 二.配置zoo ...
- 初识ZooKeeper与集群搭建实例
原文链接:http://www.linuxidc.com/Linux/2015-02/114230.htm zookeeper是什么 Zookeeper,一种分布式应用的协作服务,是Google的Ch ...
- Zookeeper+ActiveMQ集群搭建
搭建三台虚拟机安装centos7.要提前安装好jdk环境 1.环境准备,搭建三台虚拟机ip分别是 192.168.192.130 192.168.192.131 192.168.192.134 Zoo ...
随机推荐
- 【Cocos谁学谁会】定制属于自己的脚本模板
版权申明: 本文原创首发于以下网站,您可以自由转载,但必须加入完整的版权声明 博客园:https://www.cnblogs.com/MogooStudio/ csdn博客:https://blog. ...
- linux终端 tty pty pts等
linux终端 tty pty pts等 20140608 Chenxin整理 系统变量TERM不知是用来干什么的?它的值有vt100,vt220等,这些值代表什么意思? 环境变量TERM设置为终端机 ...
- 菜鸟刷面试题(三、Redis篇)
目录: redis是什么?都有哪些使用场景? redis有哪些功能? redis和memecache有什么区别? redis为什么是单线程的? 什么是缓存穿透?怎么解决? redis支持的数据类型有哪 ...
- Windows安装与配置—Node.js
一.搭建环境 1.下载软件 打开下载链接:https://nodejs.org/zh-cn/ , 2.双击安装,指定安装位置 3.测试是否安装成功 用管理员方式打开命令行cmd,输入node -v如果 ...
- docker打包python应用
操作系统 : CentOS7.5.1804_x64 docker版本 : 18.06.3-ce 本文描述了怎么将简单的python应用打包成docker镜像的过程. 本文涉及文件目录结构如下: [ro ...
- SpringBoot系列——Filter 过滤器
前言 本文记录一下在SpringBoot项目中是如何使用Filter过滤器 代码.测试 Filter过滤器是servlet包下面的东西,因此我们不需要再额外引包 方法一 直接实现Filter接口,并使 ...
- c#中的Nullable(可空类型)
在C#中使用Nullable类型(给整型赋null值的方法) 在C#1.x的版本中,一个值类型变量是不可以被赋予null值的,否则会产生异常.在C#2.0中,微软提供了Nullable类型,允许用它定 ...
- js 对 只包含简单类型数据的对象 为元素 组成的数组 进行去重
/** * 对于由简单类型数据组成的对象为元素组成的数组进行去重操作 * @params {Array} 需要去重的对象数组 * @returns {Array} 去重后的对象数组 */ functi ...
- (转)vscode实现markdown流程图
原文:https://blog.csdn.net/LaySwift/article/details/79458947 1,vscode原生支持markdown,导出需要插件,基于node.js,需要n ...
- SSM框架之Spring(4)AOP
Spring(4)AOP 1.AOP概述 在软件业,AOP为Aspect Oriented Programming的缩写,意为:面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种 ...