zookeeper 3.3.2 安装
1.下载zookeeper-3.3.2.tar.gz 安装包
2.tar -zvxf zookeeper-3.3.2.tar.gz 到指定目录
3.修改conf/zoo_sample.cfg 配置文件
将zoo_sample.cfg 的名字改为 zoo.cfg
mv zoo_sample.cfg zoo.cfg
4.配置zoo.cfg
如图:
dataLogDir=/server/logs 可根据此设置指定 log 文件的存放位置(我没有指定 默认存储在dataDir 里)
tickTime:Zookeeper 服务器之间或客户端与服务器之间维持心跳的时间间隔,每隔 tickTime 时间就会发送一个心跳。
dataDir: Zookeeper 保存数据的目录,默认情况下Zookeeper 将写数据的日志文件也保存在这个目录里
clientPort:客户端连接 Zookeeper 服务器的端口,zokeeper 会监听这个端口,接受客户端的访问请求
initLimit:Zookeeper 接受客户端(这里所说的客户端不是用户连接 Zookeeper 服务器的客户端,而是 Zookeeper 服务器集群中连接到 Leader 的 Follower 服务器)
初始化连接时最长能忍受多少个心跳时间间隔数。当已经超过 10 个心跳的时间(也就是 tickTime)长度后 Zookeeper 服务器还没有收到客户端的返回信息,那么表明这个客户端连接失败。总的时间长度就是 5*2000=10 秒
syncLimit:Leader 与 Follower 之间发送消息,请求和应答时间长度,最长不能超过多少个 tickTime 的时间长度,总的时间长度就是 2*2000=4 秒
server.1=server0:2888:3888
server.1 这个数字1 代表这是第几号服务器,只是个标志服务器名字而已。server0 是这个服务器的ip地址
2888 这个端口代表服务器与集群中leader服务器交换信息的端口,3888表示万一集群中的leader down了
需要用这个端口来重新选举leader,而这个端口就是用来执行选举时服务器相互通信的端口
5.创建myid
在dataDir 目录下创建 myid 文件 文件里面的内容为单个数字,这个数字和服务器的标志是一样的
例如:
server.1=server0:2888:3888
则在server0这台服务器上的 myid文件的内容为 1 其他依次类推
myid的内容和该服务器对应的server.数字 后边的数字相同
6.启动/停止zookeeper
bin/zkServer.sh start
bin/zkServer.sh stop
查看集群的状态
bin/zkServer.sh status
7.安装中遇到的错误
在安装中遇到很奇怪的错误,在这里和大家分享下
每次运行 bin/zkServer.sh status 的时候总是报
# ./zkServer.sh status
JMX enabled by default
Using config: /data/zookeeper-3.3.2/bin/../conf/zoo.cfg
Error contacting service. It is probably not running.
但是看后台日志却没有任何问题,也选举出来了 leader 和follower (根据日志判断的)
此时可能是nc 工具的问题 --确认电脑里安装了nc(netcat)工具
去zkServer.sh 里找到 下面这句话
STAT=`echo stat | nc localhost $(grep clientPort "$ZOOCFG" | sed -e 's/.*=//') 2> /dev/null| grep Mode`
修改成
STAT=`echo stat | nc -q l localhost $(grep clientPort "$ZOOCFG" | sed -e 's/.*=//') 2> /dev/null| grep Mode`
在运行 则ok
如图:
leader:
follower:
运维网声明
1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网 享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com