设为首页 收藏本站
查看: 880|回复: 0

[经验分享] zookeeper单机部署及集群(单机伪集群)部署

[复制链接]

尚未签到

发表于 2019-1-8 12:18:57 | 显示全部楼层 |阅读模式
  一、单机部署
  下载源码
  wget https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/zookeeper-3.4.9/zookeeper-3.4.9.tar.gz
  解压
  tar -xvzf  zookeeper-3.4.9.tar.gz -C /usr/local/
  软连接
  cd /usr/local/
  ln -s zookeeper-3.4.9  zookeeper
  修改配置文件
  cd /usr/local/zookeeper/conf
  cp  zoo_sample.cfg  zoo.cfg
  vim zoo.cfg
  暂时只需要修改数据和日志目录
  dataDir=/data/zookeeper
  启动程序

  /usr/local/zookeeper/bin/zkServer.sh start
  期间出现启动的问题,报错启动失败 nohup: 无法运行命令"java",可修改zkServer.sh第140行的
  nohup "$JAVA" "-Dzookeeper.log.dir=${ZOO_LOG_DIR}" "-Dzookeeper.root.logger=${ZOO_LOG4J_PROP}" \
  --$JAVA将此变量修改为适合自己主机的即可,如修改为$JAVA_HOME/bin/java
  启动成功后进行连接测试
  /usr/local/zookeeper/bin/zkCli.sh -server 127.0.0.1:2181
  Connecting to 127.0.0.1:2181
  ...
  [zk: 127.0.0.1:2181(CONNECTED) 0]
  代表服务链接成功
  

  

  二、集群(单机多进程伪集群)
  创建目录

  mkdir zookeeper-3181 zookeeper-3182 zookeeper-3183
  #zookeeper-3181的配置为
  tickTime=2000
  initLimit=10
  syncLimit=5
  dataDir=/path/zookeeper/log/zookeeper-3181 #其他两个目录自定义
  clientPort=3181 #其他两个目录端口分别设置为3182和3183
  autopurge.snapRetainCount=3
  autopurge.purgeInterval=72
  server.1=localhost:2287:3387
  server.2=localhost:2288:3388
  server.3=localhost:2289:3389
  #启动zookeeper-3181
  sh  zookeeper-3181/bin/zkServer.sh start
  启动过程中,查看zookeeper.out ,报错如下:
  e.zookeeper.server.quorum.QuorumPeerConfig$ConfigException: Error processing /path/zookeeper/zookeeper-3181/bin/../conf/zoo.cfg
  at org.apache.zookeeper.server.quorum.QuorumPeerConfig.parse(QuorumPeerConfig.java:144)
  at org.apache.zookeeper.server.quorum.QuorumPeerMain.initializeAndRun(QuorumPeerMain.java:101)
  at org.apache.zookeeper.server.quorum.QuorumPeerMain.main(QuorumPeerMain.java:78)
  Caused by: java.lang.IllegalArgumentException: /path/zookeeper/log/zookeeper-3181/myid file is missing
  at org.apache.zookeeper.server.quorum.QuorumPeerConfig.parseProperties(QuorumPeerConfig.java:362)
  at org.apache.zookeeper.server.quorum.QuorumPeerConfig.parse(QuorumPeerConfig.java:140)
  /path/zookeeper/log/zookeeper-3181/myid file is missing 这个文件没有存在,解决如下:
  echo 1 >/path/zookeeper/log/zookeeper-3181/myid
  echo 2 >/path/zookeeper/log/zookeeper-3182/myid
  echo 3 >/path/zookeeper/log/zookeeper-3183/myid
  执行完成后,重新启动
  sh  zookeeper-3181/bin/zkServer.sh start
  sh  zookeeper-3182/bin/zkServer.sh start
  sh  zookeeper-3183/bin/zkServer.sh start
  集群测试
  登录到3183端口

  sh zookeeper-3183/bin/zkCli.sh  -server 127.0.0.1:3183
  #设置
  [zk: 127.0.0.1:3183(CONNECTED) 0] create /testpro  zookeeptest
  Created /testpro
  [zk: 127.0.0.1:3183(CONNECTED) 1] get /testpro
  zookeeptest
  cZxid = 0x100000002
  ctime = Fri Mar 17 10:05:03 CST 2017
  mZxid = 0x100000002
  mtime = Fri Mar 17 10:05:03 CST 2017
  pZxid = 0x100000002
  cversion = 0
  dataVersion = 0
  aclVersion = 0
  ephemeralOwner = 0x0
  dataLength = 11
  numChildren = 0
  [zk: 127.0.0.1:3183(CONNECTED) 2]
  登录到3182端口检查同步情况
  sh zookeeper-3183/bin/zkCli.sh  -server 127.0.0.1:3182
  [zk: 127.0.0.1:3182(CONNECTED) 0] get /testpro
  zookeeptest
  cZxid = 0x100000002
  ctime = Fri Mar 17 10:05:03 CST 2017
  mZxid = 0x100000002
  mtime = Fri Mar 17 10:05:03 CST 2017
  pZxid = 0x100000002
  cversion = 0
  dataVersion = 0
  aclVersion = 0
  ephemeralOwner = 0x0
  dataLength = 11
  numChildren = 0
  [zk: 127.0.0.1:3182(CONNECTED) 1]
  

  三、节点接管测试
  目前情况为3182端口为主节点,测试此端口挂掉后,其他从节点是否正常升级为主节点
  --检查
  sh zookeeper-3182/bin/zkServer.sh status
  ZooKeeper JMX enabled by default
  Using config: /home/gdiex/zookeeper/zookeeper-3182/bin/../conf/zoo.cfg
  Mode: leader
  --停止
  sh zookeeper-3182/bin/zkServer.sh  stop
  ZooKeeper JMX enabled by default
  Using config: /home/gdiex/zookeeper/zookeeper-3182/bin/../conf/zoo.cfg
  Stopping zookeeper ... STOPPED
  #检查,发现3183升级为主节点
  sh zookeeper-3183/bin/zkServer.sh status
  ZooKeeper JMX enabled by default
  Using config: /home/gdiex/zookeeper/zookeeper-3183/bin/../conf/zoo.cfg
  Mode: leader
  #-----------华丽OVER线-----------#





运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-660761-1-1.html 上篇帖子: ZooKeeper启动数据初始化分析 下篇帖子: zookeeper集群配置并让metaq注册进来
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表