首页 > 技术文章 > Zookeeper 安装和配置

flyhgx 2017-05-09 23:01 原文

下载zookeeper的安装包

Zookeeper的安装和配置十分简单, 既可以配置成单机模式, 也可以配置成集群模式. 下面将分别进行介绍.

    tickTime=2000    #zookeeper中使用的基本时间单位, 毫秒值.
    dataDir=/Users/apple/zookeeper/data    #数据目录. 可以是任意目录.
    dataLogDir=/Users/apple/zookeeper/logs    #log目录, 同样可以是任意目录. 如果没有设置该参数,
    clientPort=2181       #服务器对外服务端口,默认值为2181
    server.1=10.1.39.43:2888:3888  #服务器端IP地址,
    clientPortAddress=10.10.10.1 #与clientPort匹配,表示某个IP地址,如果服务器有多个网络接口(多个IP地址),如果没有设置这个属性,则clientPort会绑定到所有IP地址上,否则只绑定到该设置的IP地址上
    
maxClientCnxns=300 #默认值是10,一个客户端能够连接到同一个服务器上的最大连接数,根据IP来区分。如果设置为0,表示没有任何限制
#snap日志和事务日志自动清理配置
autopurge.purgeInterval=24 #这个参数指定了清理频率,单位是小时,需要填写一个1或更大的整数,默认是0,表示不开启自己清理功能
autopurge.snapRetainCount=7 #这个参数和上面的参数搭配使用,这个参数指定了需要保留的文件数目。默认是保留3个
#高级配置项:
minSessionTimeout #最小的session time时间,默认值是2个tick time,客户端设置的session time 如果小于这个值,则会被强制协调为这个最小值
maxSessionTimeout #最大的session time 时间,默认值是20个tick time. ,客户端设置的session time 如果大于这个值,则会被强制协调为这个最大值
    // 上面的配置中有两个TCP port。后面一个是用于Zookeeper选举用的,而前一个是Leader和Follower或Observer交换数据使用的。我们还注意到server.后面的数字myid,zookeeper会根据这个id来取出server.x上的配置。比如当前id为1,则对应着zoo.cfg里的server.1的配置。

Zookeeper服务有两个角色,一个是leader,负责写服务和数据同步,剩下的是follower,提供读服务,leader失效后会在follower中重新选举新的leader。 

至此, zookeeper的单机模式已经配置好了. 启动server只需运行脚本:

bin/zkServer.sh start  
  #停止 stop
#状态 status

Server启动之后, 就可以启动client连接server了, 执行脚本:

bin/zkCli.sh -server localhost:2181    

集群模式
由于集群模式下, 各server部署在不同的机器上, 因此各server的conf/zoo.cfg文件可以完全一样.
下面是一个示例:

tickTime=2000    
initLimit=5    
syncLimit=2    
dataDir=/home/zookeeper/data    
dataLogDir=/home/zookeeper/logs    
clientPort=4180  
server.43=10.1.39.43:2888:3888  
server.47=10.1.39.47:2888:3888    
server.48=10.1.39.48:2888:3888  

示例中部署了3台zookeeper server, 分别部署在10.1.39.43, 10.1.39.47, 10.1.39.48上. 需要注意的是, 各server的dataDir目录下的myid文件中的数字必须不同.

10.1.39.43 server的myid为43, 10.1.39.47 server的myid为47, 10.1.39.48 server的myid为48.

推荐阅读