zookeeper基本配置,集群配置html
ZooKeeper是一个完美的解决分布式协调服务的好工具,用于管理大型主机。在分布式环境中协调和管理服务是一个复杂的过程,ZooKeeper经过其简单的架构和API解决了这个问题。ZooKeeper容许开发人员专一于核心应用程序逻辑,而没必要担忧应用程序的分布式特性。apache
在安装ZooKeeper以前,请确保你的系统是在如下任一操做系统上运行:缓存
任意Linux OS - 支持开发和部署。适合演示应用程序。服务器
Windows OS - 仅支持开发。架构
Mac OS - 仅支持开发。框架
ZooKeeper服务器是用Java建立的,它在JVM上运行。你须要使用JDK 6或更高版本。(请自行安装.....)分布式
要在你的计算机上安装ZooKeeper框架,请访问如下连接并下载最新版本的ZooKeeper。http://zookeeper.apache.org/releases.html 工具
到目前为止,最新版本的ZooKeeper是3.4.6(ZooKeeper-3.4.6.tar.gz)。spa
使用如下命令提取tar文件操作系统
$ cd opt/ $ tar -zxf zookeeper-3.4.6.tar.gz $ cd zookeeper-3.4.6 $ mkdir data
在conf目录下的zoo_sample.cfg文件复制一个副本zoo.cfg,在里面进行ZooKeeper总体配置:
# 节点与服务器之间维持心跳的时间间隔
tickTime=2000
#缓存目录
dataDir=/opt/zookeeper-3.4.6/data
#服务端口
clientPort=2181
运行zookeeper服务器
bin/zkServer.sh start
能够查看ZooKeeper的执行状态:
bin/zkServer.sh status
多个zookeeper同时启动,先建立缓存目录,每一个zookeeper一个,而后进去conf目录,在前面的单机模式下的配置里面多加几行配置项。
# 节点与服务器之间维持心跳的时间间隔
tickTime=2000
#缓存目录
dataDir=/opt/zookeeper-3.4.6/data
#服务端口
clientPort=2181
#集群服务器列表
server.1=192.168.2.100:2888:3888
server.2=192.168.2.101:2888:3888
server.A=B:C:D
:其中 A 是一个数字,表示这个是第几号服务器;B 是这个服务器的 ip 地址;C 表示的是这个服务器与集群中的 Leader 服务器交换信息的端口(上面的端口Y);D 表示的是万一集群中的 Leader 服务器挂了,须要一个端口来从新进行选举,选出一个新的 Leader,而这个端口就是用来执行选举时服务器相互通讯的端口(上面的端口Z)。若是是伪集群的配置方式,因为 B 都是同样,因此不一样的 Zookeeper 实例通讯端口号不能同样,因此要给它们分配不一样的端口号。
2181是对链接zookeeper服务器的客户端使用的,2888,3888是给zookeeper服务器本身使用的。不能搞错了。
* 在上面配置的dataDir目录下建立myid文件,填写这个节点上的id号(至关重要,必定不要忘记),就是server.A=B:C:D
配置的A那个号码 , myid里面只写这个id,别的不能多写。
一样的集群列表在全部zookeeper上都同样配置,每一个zookeeper 在缓存目录里有一个本身的id,不能有重复。
下面是zookeeper提供的功能。
zkServer.sh : ZooKeeper服务器的启动、中止和重启脚本; zkCli.sh : ZooKeeper的简易客户端; zkEnv.sh : 设置ZooKeeper的环境变量; zkCleanup.sh : 清理ZooKeeper历史数据,包括事务日志文件和快照数据文件。 查看ZooKeeper的执行状态: zookeeper/bin/zkServer.sh status