加入收藏 | 设为首页 | 会员中心 | 我要投稿 辽源站长网 (https://www.0437zz.com/)- 云专线、云连接、智能数据、边缘计算、数据安全!
当前位置: 首页 > 站长资讯 > 外闻 > 正文

ZooKeeper 原理与服务器集群部署

发布时间:2019-07-27 19:18:30 所属栏目:外闻 来源:kefeng.wang博客
导读:ZooKeeper 是大型分布式系统中可靠的协调系统,它以树状结构存储数据,以领导选举和信息同步机制保证了集群的高可用性,以事件通知机制协助事件订阅者及时捕获数据的变化,可协助实现 Dubbo、Kafka 等架构。本文以 CentOS 和 Windows 为例,总结了 ZooKeep

3.2.3 修改 confzoo-%n.cfg

  1. cd/d %ZOOKEEPER_HOME% 
  2. del /q bin*.sh 
  3. rd/s/q data logs 
  4. for %n in (1,2,3) do @mkdir logs%n 
  5. for %n in (1,2,3) do @mkdir data%n 
  6. for %n in (1,2,3) do @echo %n> data%nmyid 
  7. for %n in (1,2,3) do @copy/b confzoo_sample.cfg confzoo-%n.cfg 

修改文件 confzoo-%n.cfg 如下(分别替换其中的 %n 为 1,2,3):

  1. tickTime=2000 
  2. initLimit=10 
  3. syncLimit=5 
  4. clientPort=218%n 
  5. dataDir=D:/Software/Architecture/zookeeper-3.4.11/data/%n 
  6. dataLogDir=D:/Software/Architecture/zookeeper-3.4.11/logs/%n 
  7. server.1=localhost:2281:2291 
  8. server.2=localhost:2282:2292 
  9. server.3=localhost:2283:2293 

参数说明与 Linux 中相关内容一样。

3.2.4 修改脚本

删除 binzkEnv.cmd 中的 set ZOOCFG=%ZOOCFGDIR%zoo.cfg 一行;

  1. for %n in (1,2,3) do @copy/b binzkServer.cmd binzkServer%n.cmd 

修改各个文件 zkServer%n.cmd 在 call "%~dp0zkEnv.cmd" 之前加一行:

set ZOOCFG=%~dp0%..confzoo-%n.cfg,注意替换 %n 分别为 1/2/3

3.3 启动服务

  1. zkServer1.cmd 
  2. zkServer2.cmd 
  3. zkServer3.cmd 

3.4 客户端验证

  1. zkCli.cmd -server centos:2181 ## 连接 Linux 上服务 
  2. zkCli.cmd -server localhost:2181 ## 连接本机上服务 
  3. ## 更多内容参见前面 Linux 中相应部分 

4.集群部署(生产环境)

管理员指南: https://zookeeper.apache.org/doc/current/zookeeperAdmin.html

  • 要求至少为三台 ZooKeeper 服务器,最好是奇数个服务器(以便多数正常机器处理少数机器的故障),通常三台足够了,如果想更可靠,可增加至五台;
  • 为避免各服务器同时发生故障,最好部署在不同机器、不同网络交换机(电路、冷却系统等)、甚至不同机房;
  • 为避免内存交换,要设置足够大的 JVM 堆,比如 4G 机器可指定 3G;

(编辑:辽源站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

推荐文章
    热点阅读