zookeeper基本配置,集群配置
ZooKeeper是一个完美的解决分布式协调服务的好工具,用于管理大型主机。在分布式环境中协调和管理服务是一个复杂的过程,ZooKeeper通过其简单的架构和API解决了这个问题。ZooKeeper允许开发人员专注于核心应用程序逻辑,而不必担心应用程序的分布式特性。
在安装ZooKeeper之前,请确保你的系统是在以下任一操作系统上运行:
-
任意Linux OS - 支持开发和部署。适合演示应用程序。
-
Windows OS - 仅支持开发。
-
Mac OS - 仅支持开发。
ZooKeeper服务器是用Java创建的,它在JVM上运行。你需要使用JDK 6或更高版本。(请自行安装.....)
下载ZooKeeper
要在你的计算机上安装ZooKeeper框架,请访问以下链接并下载最新版本的ZooKeeper。http://zookeeper.apache.org/releases.html
到目前为止,最新版本的ZooKeeper是3.4.6(ZooKeeper-3.4.6.tar.gz)。
提取tar文件
使用以下命令提取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