MENU

Zookeeper 安装教程

Zookeeper 是什么?

ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务


名词解释

  • bin目录: zk的可执行脚本目录,包括zk服务进程,zk客户端,等脚本。其中,.sh是Linux环境下的脚本,.cmd是Windows环境下的脚本。
  • conf目录:配置文件目录。zoo_sample.cfg为样例配置文件,需要修改为自己的名称,一般为zoo.cfg。log4j.properties为日志配置文件。
  • lib: zk依赖的包。
  • contrib: 一些用于操作zk的工具包。
  • recipes: zk某些用法的代码示例

安装

下载

下载地址: https://zookeeper.apache.org/releases.html

配置文件

将conf目录下的 zoo_sample.cfg 文件 修改为 zoo.cfg

解释:

  • tickTime :
    时长单位为毫秒,为zk使用的基本时间度量单位。例如,1 * tickTime是客户端与zk服务端的心跳时间,2* tickTime是客户端会话的超时时间。 tickTime的默认值为2000毫秒,更低的tickTime值可以更快地发现超时问题,但也会导致更高的网络流量(心跳消息)和更高的CPU使用率(会话的跟踪处理)。
  • clientPort :
    zk服务进程监听的TCP端口,默认情况下,服务端会监听2181端口。
  • dataDir :
    无默认配置,必须配置,用于配置存储快照文件的目录。如果没有配置dataLogDir,那么事务日志也会存储在此目录。

启动

windows:

zkServer.cmd

linux:

./zkServer.sh start   
./zkServer.sh start-foreground #后台启动 

连接zk:

bin/zkCli.sh -server localhost:2181

添加为系统服务
cd /etc/rc.d/init.d/ 
touch zookeeper  
chmod +x zookeeper 
vi zookeeper

编辑文件为:

#!/bin/bash  
#chkconfig:2345 20 90  
#description:zookeeper  
#processname:zookeeper  
export JAVA_HOME=//usr/java/jdk1.8.0_112  
case $1 in  
        start) su root /usr/local/zookeeper-3.4.5/bin/zkServer.sh start;;  
        stop) su root /usr/local/zookeeper-3.4.5/bin/zkServer.sh stop;;  
        status) su root /usr/local/zookeeper-3.4.5/bin/zkServer.sh status;;  
        restart) su /usr/local/zookeeper-3.4.5/bin/zkServer.sh restart;;  
        *) echo "require start|stop|status|restart" ;;  
esac 
开机启动
chkconfig --add zookeeper
chkconfig --list

问题

1、端口被占用 lsof -i:2181

2、数据不完整 删除 /temp/zookeeper/下的文件,然后使用 ./zkServer.sh start

Archives QR Code
QR Code for this page
Tipping QR Code