Zookeeper集群部署

1 下载安装:
cd /usr/local/software
wget https://dlcdn.apache.org/zookeeper/zookeeper-3.8.1/apache-zookeeper-3.8.1-bin.tar.gz
tar -zxvf apache-zookeeper-3.6.2-bin.tar.gz
ln -s /usr/local/software/apache-zookeeper-3.6.2-bin /usr/local/zookeeper

创建数据目录和日志目录

mkdir /usr/local/zookeeper/{data,logs}

注: zk的安装依赖java,所以需要先安装jdk,统一使用jdk1.8,需要check下java命令对应的版本是1.8或以上
如果默认的java不是1.8(java -version看一下),可以安装java1.8后在zkEnv.sh中使用JAVA_HOME前指定java1.8的具体路径,比如JAVA_HOME=/usr/local/java8

2 修改配置
cd /usr/local/zookeeper/conf
cp zoo_sample.cfg zoo.cfg

【StandAlone模式】 不用这种方式,单机部署时仅供参考
#vim zoo.cfg

tickTime=2000
initLimit=10
syncLimit=5
dataDir=/usr/local/zookeeper/data
dataLogDir=/usr/local/zookeeper/logs
clientPort=2181

admin.serverPort=8887 #默认端口是8080,可能被占用了,可以更改

【Distributed模式】直接用这种方式
#vim zoo.cfg

tickTime=2000
initLimit=10
syncLimit=5
dataDir=/usr/local/zookeeper/data
dataLogDir=/usr/local/zookeeper/logs
clientPort=2181

server.服务编号=服务地址、LF通信端口、选举端口

server.1=ip1:2888:3888
server.2=ip2:2888:3888
server.3=ip3:2888:3888

admin.serverPort=9999 #默认端口是8080

配置项说明:

tickTime: zk中使用的基本时间单元,单位为毫秒,用于控制心跳和超时。更低的tickTime值可以更快的发现超时问题

initLimit:zk集群中follower初始化连接到leader时,最长能忍受多少个tickTime,默认值为10,即为20s

syncLimit:用于配置leader和follower间进行心跳检测的最大超时时间。如果在设置的时间内followers无法与leader进行通信,那么follower将会被丢弃。默认值为5,即10s

dataDir:zk用于存储内存数据库快照的目录。如果不指定dataLogDir参数,则数据库更新的事务日志也将会存储在该目录下

dataLogDir:指定zk事务日志的存储目录

clientPort:服务器监听客户端连接的端口,默认值为2181

maxClientCnxns:限制单个客户端与单台服务之间的并发连接数,默认值为60,设置为0则不限制

autopurge.snapRetainCount:配置zk在自动清理的时候需要保存的数据文件快照的数量和对应的事务日志文件,默认为3

autopurge.purgeInterval:和autopurge.snapRetainCount配置使用,用于配置zk自动清理文件的频率,默认为1小时,即默认开启自动清理功能,设置为0,则表示禁用清理功能

集群模式中,集群中的每台机器都需要感知其它机器,在zoo.cfg配置文件中,可以按照如下格式进行配置:server.id=host:port:port,其中id即server id,用于标识服务器在集群中的序号。每台zk服务器上,都需要在数据目录下创建一个myid文件,该文件中只有一行内容,即对应于每台服务器的server id。

zk集群中,每台服务器上的zoo.cfg配置文件内容一致

3 创建myid文件

每个服务器上的myid内容都不同,且需要保证和自己的zoo.cfg配置文件中"server.id=host:port:port"的id值一致

id的范围是1~255

echo “1” > /usr/local/zookeeper/data/myid

4 启动
/usr/local/zookeeper/bin/zkServer.sh start

5 在客户端验证
telnet 127.0.0.1 2181

stat

6 基本用法
zkCli.sh -server localhost:2181

各个zk机器上查询状态:zkServer.sh status

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值