博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
zookeeper单机和集群安装
阅读量:2444 次
发布时间:2019-05-10

本文共 2562 字,大约阅读时间需要 8 分钟。

1. 下载软件包

到ZooKeeper官网上http://zookeeper.apache.org/下载软件包,例如:

wget "http://apache.opencas.org/zookeeper/stable/zookeeper-3.4.8.tar.gz"tar -xzvf zookeeper-3.4.8.tar.gzmv zookeeper-3.4.8 /opt
  • 1
  • 2
  • 3

2. 单机模式

2.1 修改配置文件

cd /opt/zookeeper-3.4.8/conf/cp zoo_sample.cfg zoo.cfgvi zoo.cfg
  • 1
  • 2
  • 3

Zookeeper提供了一份默认的配置文件,复制为zoo.cfg打开后,我们需要修改数据存放的路径:

dataDir=/opt/zookeeper-3.4.8/data
  • 1

2.2 运行Zookeeper

cd /opt/zookeeper-3.4.8/bin/./zkServer.sh start
  • 1
  • 2

如果运行无报错,说明Zookeeper启动成功了。 

为了以后操作方便,我们可以将Zookeeper/bin添加到path

vi /etc/profile
  • 1

在末尾添加:

ZOOKEEPER_HOME=/opt/zookeeper-3.4.8PATH=$PATH:$ZOOKEEPER_HOME/bin
  • 1
  • 2

更新配置:

source /etc/profile
  • 1

3. 集群模式

单机模式非常方便,适合开发、测试场景,但是在生产环境中,应该运行一个集群模式。集群模式至少应该有3个节点,并且强烈建议是奇数个节点,每个节点应该有相同的配置文件。

3.1 修改配置文件

cd /opt/zookeeper-3.4.8/conf/vi zoo.cfg
  • 1
  • 2

打开后,修改为:

tickTime=2000dataDir=/opt/zookeeper-3.4.8/dataclientPort=2181initLimit=5syncLimit=2server.1=master:2888:3888server.2=slave1:2888:3888server.3=slave2:2888:3888
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

server后面跟的数字就是该节点的标号,我们需要将这个编号写入名为myid的文件。该文件应该存放在前面配置的dataDir指向的目录下。 

例如上面的slave1节点,对应的data/myid文件中应该写入2

3.2 拷贝文件夹

scp -r /opt/zookeeper-3.4.8 root@slave1:/opt/scp -r /opt/zookeeper-3.4.8 root@slave2:/opt/
  • 1
  • 2

拷贝完成后,记得修改对应服务器的myid文件。

3.3 启动服务

需要到每个节点上启动Zookeeper服务,每个节点启动后可以用zkServer.sh status查看当前节点的启动状态以及是leader节点还是follower节点。

4. 异常分析

运行日志文件默认在程序目录下的zookeeper.out

4.1 无法连接

2016-04-13 05:18:21,531 [myid:1] - WARN  [WorkerSender[myid=1]:QuorumCnxManager@400] - Cannot open channel to 2 at election address slave1/5.2.8.5:3888java.net.ConnectException: Connection refused        at java.net.PlainSocketImpl.socketConnect(Native Method)        at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)        at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)        at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)        at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)        at java.net.Socket.connect(Socket.java:589)        at org.apache.zookeeper.server.quorum.QuorumCnxManager.connectOne(QuorumCnxManager.java:381)        at org.apache.zookeeper.server.quorum.QuorumCnxManager.toSend(QuorumCnxManager.java:354)        at org.apache.zookeeper.server.quorum.FastLeaderElection$Messenger$WorkerSender.process(FastLeaderElection.java:452)        at org.apache.zookeeper.server.quorum.FastLeaderElection$Messenger$WorkerSender.run(FastLeaderElection.java:433)        at java.lang.Thread.run(Thread.java:745)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

出现这个异常,可能是zookeeper节点的防火墙是开启状态并且没有打开相应端口(2888,3888);也可能是有节点未启动或者挂掉了。

转载地址:http://nfxqb.baihongyu.com/

你可能感兴趣的文章
e&&&@!d_使用此免费工具为您的D&D活动生成随机地下城
查看>>
切断电线后,在哪里放流动物星球
查看>>
大范围延时摄影 稳定_摄影中的动态范围是什么?
查看>>
apple 西单大悦城维修_如何检查Apple是否已召回MacBook(免费维修)
查看>>
使用化学烧伤创建自定义的详细木材燃烧图案
查看>>
windows10屏幕录制_如何在Windows 10中拍摄屏幕截图
查看>>
splayer解码器怎么装_SPlayer是一款轻巧的优质视频播放器
查看>>
siri早上好捷径分享_如何使Siri更好地了解您
查看>>
安卓 presenter_如何在PowerPoint中使用Presenter View掌握演示文稿
查看>>
taskbar blur_Dual Monitor Taskbar是Windows 7的开源任务栏扩展程序
查看>>
oculus vr开发_如何从PC上将VR视频传输到Oculus(并播放它们)
查看>>
如何管理您的YouTube隐私设置
查看>>
greasemonkey_在Firefox中更改或设置Greasemonkey脚本编辑器
查看>>
office显示无法初始化_如何禁用Office 2013初始屏幕
查看>>
亚马逊echo中国使用_如何阻止您的Amazon Echo收听
查看>>
linkedin 分享_如何永远阻止LinkedIn的烦人电子邮件
查看>>
ipad和iphone适配_如何在iPhone和iPad上将链接,照片和媒体快速添加到Apple Notes
查看>>
vlc 禁用字幕_如何在VLC中完全禁用字幕
查看>>
开源星空照片_如何拍摄星空的好照片
查看>>
usb延长线线序_我应该使用哪种延长线?
查看>>