Zookeeper实战之单机集群模式
前一篇文章介绍了Zookeeper的单机模式的安装及应用,但是Zookeeper是为了解决分布式应用场景的,所以通常都会运行在集群模式下。今天由于手头机器不足,所以今天打算在一台机器上部署三个Zookeeper服务来组成一个Zookeeper集群。这里解压Zookeeper的安装包到/opt目录下,这里用三个目录来代表三个Zookeeper实例,分别是/opt/zookeeper1,/opt/zookeeper2和/opt/zookeeper3.
1. 首先编辑每个Zookeeper目录下的conf/zoo.cfg文件。三个配置配置文件的内容分别如下
- $ cat /opt/zookeeper1/conf/zoo.cfg
- tickTime=2000
- dataDir=/opt/zookeeper1/data
- clientPort=2181
- initLimit=10
- syncLimit=5
- server.1=127.0.0.1:2881:3881
- server.2=127.0.0.1:2882:3882
- server.3=127.0.0.1:2883:3883
- $ cat /opt/zookeeper2/conf/zoo.cfg
- tickTime=2000
- dataDir=/opt/zookeeper2/data
- clientPort=2182
- initLimit=10
- syncLimit=5
- server.1=127.0.0.1:2881:3881
- server.2=127.0.0.1:2882:3882
- server.3=127.0.0.1:2883:3883
- $ cat /opt/zookeeper3/conf/zoo.cfg
- tickTime=2000
- dataDir=/opt/zookeeper3/data
- clientPort=2183
- initLimit=10
- syncLimit=5
- server.1=127.0.0.1:2881:3881
- server.2=127.0.0.1:2882:3882
- server.3=127.0.0.1:2883:3883
其中有几点需要注意
* dataDir: 三个Zookeeper实例的dataDir目录要区别开,这里分别指定到各个Zookeeper实例目录下的data目录。
* clientPort: 定义Zookeeper客户端连接Zookeeper服务端时使用的端口,这里因为是在一台机器上做的集群,所以三个实例的端口要区分开。
* server.: 定义Zookeeper集群的各个实例的的ip和端口,这里因为是在一台机器上做的集群,所以IP都定义的是127.0.0.1,但是后面的端口要区分开。
2. 创建data目录和实例id文件
- mkdir /opt/zookeeper1/data
- mkdir /opt/zookeeper2/data
- mkdir /opt/zookeeper3/data
- echo 1 > /opt/zookeeper1/data/myid
- echo 2 > /opt/zookeeper2/data/myid
- echo 3 > /opt/zookeeper3/data/myid
这里要注意需要在每个Zookeeper的dataDir目录下创建myid文件,内容是记录各个Zookeeper的实例ID。
3. 启动Zookeeper服务
分别进入各个Zookeeper的bin目录,然后运行“./zkServer.sh start”来启动一个Zookeeper服务。
4. 客户端连接
随便进入一个Zookeeper的bin目录,然后运行下面的命令来分别连接Zookeeper服务。
- ./zkCli.sh -server 127.0.0.1:2181
- ./zkCli.sh -server 127.0.0.1:2182
- ./zkCli.sh -server 127.0.0.1:2183
在其中的一个client上创建一个znode节点
- create /mykey myvalue
然后在别的client上查看新创建zonde节点
- get /mykey
5. 查看Zookeeper状态
启动Zookeeper之后,由于Zookeeper自己会有一套leader的选举算法,所以此时如果想知道那个Zookeeper是leader可以在各个Zookeeper的bin目录运行“./zkServer.sh status”命令来查看。
如果是Leader
- $ ./zkServer.sh status
- JMX enabled by default
- Using config: /opt/zookeeper1/bin/../conf/zoo.cfg
- Mode: leader
如果不是Leader
- $ ./zkServer.sh status
- JMX enabled by default
- Using config: /opt/zookeeper3/bin/../conf/zoo.cfg
- Mode: follower
此时可以把leader的那个节点停了,然后再看查看其它两个Zookeeper实例,此时剩下的两个Zookeeper实例就会再选举出一个leader。
Zookeeper实战之单机集群模式的更多相关文章
- Presto单机/集群模式安装笔记
Presto单机/集群模式安装笔记 一.安装环境 二.安装步骤 三.集群模式安装: 3.1 集群模式修改配置部分 3.1.1 coordinator 节点配置. Node172配置 3.1.2 nod ...
- 10. ZooKeeper之搭建伪集群模式。
转自:https://blog.csdn.net/en_joker/article/details/78673456 在集群和单机两种模式下,我们基本完成了分别针对生产环境和开发环境ZooKeeper ...
- Spring集成Jedis(不依赖spring-data-redis)(单机/集群模式)(待实践)
Jedis是Redis的Java客户端,Spring将Jedis连接池作为一个Bean来配置.如果在Spring Data的官网上可以发现,Spring Data Redis已经将Jedis集成进去了 ...
- Zookeeper简介及单机、集群模式搭建
1.zookeeper简介 一个开源的分布式的,为分布式应用提供协调服务的apache项目. 提供一个简单的原语集合,以便于分布式应用可以在它之上构建更高层次的同步服务. 设计非常易于编程,它使用的是 ...
- Zookeeper实战之嵌入式执行Zookeeper集群模式
非常多使用Zookeeper的情景是须要我们嵌入Zookeeper作为自己的分布式应用系统的一部分来提供分布式服务.此时我们须要通过程序的方式来启动Zookeeper.此时能够通过Zookeeper ...
- Windows环境下Zookeeper的安装和部署(单机模式和伪集群模式)
第一部分:单机模式 1)下载地址:http://www.pirbot.com/mirrors/apache/zookeeper/,建议下载stable版本 2)解压缩 将下载好的压缩包解压到指定目录, ...
- 搞懂分布式技术5:Zookeeper的配置与集群管理实战
搞懂分布式技术5:Zookeeper的配置与集群管理实战 4.1 配置文件 ZooKeeper安装好之后,在安装目录的conf文件夹下可以找到一个名为“zoo_sample.cfg”的文件,是ZooK ...
- zookeeper(单机/集群)安装与配置
一.安装与单机配置 1.下载: wget http://archive.apache.org/dist/zookeeper/stable/zookeeper-3.4.6.tar.gz 如果网站下载不了 ...
- Dubbo(三) 安装Zookeeper 单机-集群
一.下载zookeeper zookeeper下载地址:https://www.apache.org/dyn/closer.cgi/zookeeper/点击下载 二.启动配置 选择合适版本下载后解压到 ...
随机推荐
- (转)一些国外优秀的elasticsearch使用案例
Github “Github使用Elasticsearch搜索20TB的数据,包括13亿的文件和1300亿行的代码” 这个不用介绍了吧,码农们都懂的,Github在2013年1月升级了他们的代码搜索, ...
- 3月3日[Go_deep]Populating Next Right Pointers in Each Node
原题:Populating Next Right Pointers in Each Node 简单的链表二叉树增加Next节点信息,没什么坑.不过还是WA了两次,还是有点菜,继续做,另外leetcod ...
- Poj 1328 / OpenJudge 1328 Radar Installation
1.Link: http://poj.org/problem?id=1328 http://bailian.openjudge.cn/practice/1328/ 2.Content: Radar I ...
- 何谓IOC的核心思想
IOC(Inversion of Control)即控制反转,是在面试或平常交流中经常遇到了词汇:我也曾经仿照Spring,利用JDK的反射和动态代理实现了一个简单的IOC框架,感觉算是知其然也知其所 ...
- URL学习笔记
不多说,先上代码,代码的注释写的已经挺详细的了 //URL:统一资源定位符,一个URL的对象,对应着互联网上的一个资源. //我们可以通过URL的对象调用其相应的方法,将此资源读取(即所谓的“下载”) ...
- ASP.NET文件上传的三种基本方法
ASP.NET依托.net framework类库,封装了大量的功能,使得上传文件非常简单,主要有以下三种基本方法. 方法一:用Web控件FileUpload,上传到网站根目录. <form i ...
- Windows Service 访问远程共享权限设置
最近为实现共享目录之间的文件同步,开发了一个Windows Service. 考虑到在拷贝过程中,如果网络忽然抽风访问不了,导致文件拷贝不完整的情况,果断抛弃.Net 自带的 COPY 方法,而使用D ...
- [转]java gridbag 说明
gridx = 2; // X2 gridy = 0; // Y0 gridwidth = 1; // 横占一个单元格 gridheight = 1; // 列占一个单元格 weightx = 0.0 ...
- AJAX 小实例(转摘)
最近老总提了一个小功能,在搜索网吧列表的时候加上网吧所属代理商这个条件,原有的搜索条件是一个地区二级联动,现在需要根据不同的地区显示不同的代理商集合.即在触发地区下拉框的onchange事件时,代理商 ...
- android模拟器打开时比较慢,Run As就找不到模拟器
1.运行中输入cmd,然后回车,调出command窗口 2.用cd,将目录切换到adb所在目录,然后输入adb kill-server ,adb start-server 3.adb devices就 ...