ZooKeeper集群
来源:互联网 发布:js 时间控件选择星期 编辑:程序博客网 时间:2024/05/21 07:04
概述
ZooKeeper是Hadoop的开源子项目(Google Chubby的开源实现),它是一个针对大型分布式系统的可靠协调系统,提供的功能包括:配置管理、命名服务、分布式锁、集群管理等。
本文主要讲述如何在Windows环境上搭建ZooKeeper集群环境,注意是在一台Windows机器上部署3个ZooKeeper实例。
本文介绍的 Zookeeper 是以 3.4.8 稳定版本为基础,下载链接:http://zookeeper.apache.org/releases.html
配置
我在本地Windows机器上部署3个ZooKeeper实例,目录结构如下:
其中,Server_A,Server_B,Server_C各自都拥有一个ZooKeeper实例;ZK_data用来存储ZooKeeper数据信息;ZK_log用来存储ZooKeeper日志信息。
解压缩
将下载下来的zookeeper-3.4.8.tar.gz解压缩到F:\ZooKeeper\ZK_Cluster\Server_A目录下,如下图所示:
修改zoo.cfg
将conf/zoo_sample.cfg 复制一份命名为zoo.cfg,如下图所示:
然后编辑,如下:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
注意事项
1、由于部署在同一台机器上,clientPort不能重复,建议Server_A的clientPort=2181,Server_B的clientPort=2182,依次递增。
2、server.A=B:C:D:其中 A 是一个数字,表示这个是第几号服务器;B 是这个服务器的 ip 地址;C 表示的是这个服务器与集群中的 Leader 服务器交换信息的端口;D 表示的是万一集群中的 Leader 服务器挂了,需要一个端口来重新进行选举,选出一个新的 Leader,而这个端口就是用来执行选举时服务器相互通信的端口。如果是伪集群的配置方式,由于 B 都是一样,所以不同的 ZooKeeper实例通信端口号不能一样,所以要给它们分配不同的端口号。
3、集群模式下还要配置一个文件 myid,这个文件在 dataDir 目录下,这个文件里面只有一个数据就是 A 的值,ZooKeeper启动时会读取这个文件,拿到里面的数据与 zoo.cfg 里面的配置信息比较从而判断到底是那个 server。
至此,Server_A已经配置完毕了,同理依次配置Server_B、Server_C。
启动
配置完成后,我们进入${ZooKeeper}/bin目录,双击zkServer.cmd脚本即可启动,如下图所示:
刚开始启动ZooKeeper时出现Java.NET.ConnectException: Connection refused: connect错误:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
这个是正常现象,因为此时其它的ZooKeeper实例还未启动,等所有的ZooKeeper实例都启动后集群就正常了。
验证
使用 zkCli.cmd -server 127.0.0.1:2181验证
- ZooKeeper集群
- Zookeeper 集群
- Zookeeper 集群
- Zookeeper集群
- ZooKeeper集群
- Zookeeper集群
- zookeeper集群
- zookeeper集群
- ZooKeeper集群
- zookeeper集群
- zookeeper集群
- Zookeeper集群
- zookeeper 集群
- ZooKeeper集群
- zookeeper(3) zookeeper集群搭建
- Zookeeper 介绍 Zookeeper 搭建 Zookeeper 集群搭建
- HBase集群+Zookeeper集群安装
- Zookeeper集群和伪集群
- Leetcode题解
- HoughLinesP( )函数详解
- Linux常用命令
- Zookeeper原子广播Zab
- 1008. 数组元素循环右移问题
- ZooKeeper集群
- 夜雨,心烦
- luke各个版本地址
- java线程总结
- ODPS_MR
- HibernateDaoSupport类的使用
- Github之初探
- 开源漏洞检测工具
- Web前端-HeadFirst笔记-CH11-两栏实现方案&CSS表格