下载
在apache上的下载地址是:http://apache.fayea.com/zookeeper/zookeeper-3.4.6/zookeeper-3.4.6.tar.gz
配置
参考官网的配置文档:https://zookeeper.apache.org/doc/trunk/zookeeperStarted.html
step1:在解压开的文件夹下新建data 和logs目录
step2:复制conf目录下的zoo_sample.cfg 另存为zoo.cfg
修改配置
dataDir=/usr/local/zookeeper-3.4.6/data
dataLogDir=/usr/local/zookeeper-3.4.6/logs
注意:如果dataDir或者dataLogDir的目录不存在将会导致zookeeper启动失败 20160621
启动
zookeeper 启动依赖jdk 所以启动zookeeper之前一定要安装配置好jdk
在windows下启动 双击 zkServer.cmd
在linux下运行zkServer.sh start
./zkServer.sh status 可以查看启动情况
Mode: standalone 表示单机模式下已经启动了
也可以通过其监听的端口查看启动情况:lsof -i:2181 可以查看到占用端口的进程
设为开启启动的做法:
方法一:
向/etc/rc.local中添加/usr/local/zookeeper-3.4.6/bin/zkServer.sh start保存退出之后重启系统
方法二:
添加服务的方式启动zookeeper
step1: 进入到/etc/rc.d/init.d/目录下
cd /etc/rc.d/init.d
step2:新建zookeeper文件
touch zookeeper
step3:给zookeeper添加可执行权限
chmod +x zookeeper
step4:编辑zookeeper 添加如下内容
#!/bin/bash #chkconfig:2345 20 90 #description:zookeeper #processname:zookeeper case $1 in start) su root /usr/local/zookeeper-3.4.6/bin/zkServer.sh start;; stop) su root /usr/local/zookeeper-3.4.6/bin/zkServer.sh stop;; status) su root /usr/local/zookeeper-3.4.6/bin/zkServer.sh status;; restart) su root /usr/local/zookeeper-3.4.6/bin/zkServer.sh restart;; *) echo "require start|stop|status|restart" ;; esac
step5:要添加服务
chkconfig --add zookeeper
step6:现在可以用下面命令来启动停止zookeeper服务
service zookeeper start/stop
step7:设置为开机启动
chkconfig zookeeper on
按照上面的做法最后还是不能启动,停止倒是可以停止。为什么呢?2010313。不知道是不是因为自己安装jdk的时候自己手动设置了环境变量 和默认设置的环境变量不在一起的问题让zookeeper先启动所以失败了(直接用service zookeeper start 也启动不起来好像可以排除这个原因)。还是因为网络连接方式不是桥接方式导致的?
配置介绍:zoo.cfg配置文件介绍
tickTime:Zookeeper 服务器之间或客户端与服务器之间维持心跳的时间间隔,也就是每个 tickTime 时间就会发送一个心跳
dataDir:顾名思义就是 Zookeeper 保存数据的目录,默认情况下,Zookeeper 将写数据的日志文件也保存在这个目录里
dataLogDir:顾名思义就是 Zookeeper 保存日志文件的目录
clientPort: 这个端口就是客户端连接 Zookeeper 服务器的端口