部署
- 下载网址,下载版本apache-zookeeper-3.5.8-bin.tar.gz
- 解压压缩包
tar -xvf apache-zookeeper-3.5.8-bin.tar.gz
- 进入conf目录添加名为zoo.cfg的配置文件,这里修改配置文件名的原因是在zkEnv.sh脚本里面配置的默认配置文件名为zoo.cfg
cp zoo_sample.cfg zoo.cfg
- 修改zoo.cfg配置内容(需创建对应目录)
dataDir=/tmp/zookeeper/data(自定义)
dataLogDir=/tmp/zookeeper/log
- 配置zookeeper环境变量
export ZOOKEEPER_INSTALL=/usr/local/zookeeper/
export PATH=$PATH:$ZOOKEEPER_INSTALL/bin
- sh zkServer.sh start 启动zookeeper
问题
- 错误: 找不到或无法加载主类 org.apache.zookeeper.server.quorum.QuorumPeerMain
下载的压缩包是为编译的,重新下载编译后的压缩包
命令
./zkServer.sh start // 启动服务
./zkServer.sh status // 服务状态
./zkServer.sh stop // 停止服务
./zkServer.sh restart // 重启服务
./zkCli.sh -server ip:port // 客户端连接服务端
配置
tickTime=2000 // Zookeeper服务器与客户端心跳时间,单位毫秒
initLimit=10 // 集群下Follow服务器从Leader服务器同步数据需在initLimit*tickTime时间内完成
syncLimit=5 // 集群下Leader与Follow之间的最大响应时间(syncLimit*tickTime)
dataDir=/tmp/zookeeper/data // 存储快照文件snapshot的目录
dataLogDir=/tmp/zookeeper/log // 事务日志输出目录
clientPort=2181 // 配置客户端连接的端口
maxClientCnxns=60 // 单个客户端与单台服务器之间的连接数的限制
forceSync=no //是否需要在事务日志提交的时候调用FileChannel.force来保证数据完全同步到磁盘