Apache ZooKeeper - 使用源码启动ZK集群模式

简介: Apache ZooKeeper - 使用源码启动ZK集群模式

20201127112907670.png

Pre


Apache ZooKeeper - 构建ZooKeeper源码环境及StandAlone模式下的服务端和客户端启动

有了使用源码启动单节点的经验,集群模式就很容易了,无非就是多几个配置文件 ,启动了集群模式才好去分析分布式环境下的leader的选举等源码


网络异常,图片无法展示
|


配置总览


20201127143803404.png


端口说明

clientPort=2181
server.1=127.0.0.1:2888:3888


我们以这个为例,来看下这几个端口都是干啥用的

  • 2181 对client端提供服务
  • 2888 Leader监听此端口 集群内机器通讯使用
  • 3888 选举leader使用


Node 1

【zoo1.cfg 】

tickTime=2000
initLimit=10
syncLimit=5
dataDir=D:/IdeaProjects/zookeeperSource/data/zk1
clientPort=2181
server.1=127.0.0.1:2888:3888
server.2=127.0.0.1:2889:3889
server.3=127.0.0.1:2890:3890


【myid】

20201127144632286.png


Node 2

【zoo2.cfg 】

tickTime=2000
initLimit=10
syncLimit=5
dataDir=D:\\IdeaProjects\\zookeeperSource\\data\\zk2
clientPort=2182
server.1=127.0.0.1:2888:3888
server.2=127.0.0.1:2889:3889
server.3=127.0.0.1:2890:3890

【myid】


20201127144646493.png


Node 3

【zoo3.cfg 】

tickTime=2000
initLimit=10
syncLimit=5
dataDir=D:/IdeaProjects/zookeeperSource/data/zk3
clientPort=2183
server.1=127.0.0.1:2888:3888
server.2=127.0.0.1:2889:3889
server.3=127.0.0.1:2890:3890


调整clientPort和dataDir

【myid】


2020112714470253.png


启动集群环境

分别启动3个节点


20201127145249643.png

测试


启动第一个节点 ,会报错,因为其他两个节点还没启动,连接报错 Cannot open channel to 3 at election address /127.0.0.1:3890

启动第二个节点后,节点正常了, 此时经过选举将节点二选举为leader节点,节点1为follower

节点二日志:


20201127145723940.png


20201127145748554.png


启动第三个节点后, 加入到集群,节点三的同样也是follower节点


20201127145908464.png

好了 完事儿了 操作就是这么简单


20201127150530185.png


接下来从源码角度分析ZK集群启动时的选主过程~



20201128140904789.png




相关文章
|
存储 分布式计算 druid
大数据-152 Apache Druid 集群模式 配置启动【下篇】 超详细!(一)
大数据-152 Apache Druid 集群模式 配置启动【下篇】 超详细!(一)
296 1
大数据-152 Apache Druid 集群模式 配置启动【下篇】 超详细!(一)
|
分布式计算 大数据 分布式数据库
大数据-158 Apache Kylin 安装配置详解 集群模式启动(一)
大数据-158 Apache Kylin 安装配置详解 集群模式启动(一)
310 5
|
资源调度 大数据 分布式数据库
大数据-158 Apache Kylin 安装配置详解 集群模式启动(二)
大数据-158 Apache Kylin 安装配置详解 集群模式启动(二)
281 2
|
消息中间件 分布式计算 druid
大数据-152 Apache Druid 集群模式 配置启动【下篇】 超详细!(二)
大数据-152 Apache Druid 集群模式 配置启动【下篇】 超详细!(二)
191 2
|
存储 消息中间件 druid
大数据-151 Apache Druid 集群模式 配置启动【上篇】 超详细!
大数据-151 Apache Druid 集群模式 配置启动【上篇】 超详细!
309 1
|
分布式计算 Java Hadoop
Hadoop-30 ZooKeeper集群 JavaAPI 客户端 POM Java操作ZK 监听节点 监听数据变化 创建节点 删除节点
Hadoop-30 ZooKeeper集群 JavaAPI 客户端 POM Java操作ZK 监听节点 监听数据变化 创建节点 删除节点
300 1
|
分布式计算 监控 Hadoop
Hadoop-29 ZooKeeper集群 Watcher机制 工作原理 与 ZK基本命令 测试集群效果 3台公网云服务器
Hadoop-29 ZooKeeper集群 Watcher机制 工作原理 与 ZK基本命令 测试集群效果 3台公网云服务器
296 1
|
数据采集 分布式计算 Kubernetes
Apache Flink 实践问题之ZooKeeper 网络瞬断时如何解决
Apache Flink 实践问题之ZooKeeper 网络瞬断时如何解决
418 4
【想进大厂还不会阅读源码】ShenYu源码-替换ZooKeeper客户端
ShenYu源码阅读。相信大家碰到源码时经常无从下手,不知道从哪开始阅读😭。我认为有一种办法可以解决大家的困扰!至此,我们发现自己开始从大量堆砌的源码中脱离开来😀。ShenYu是一个异步的,高性能的,跨语言的,响应式的 API 网关。
229 3
多应用模式下,忽略项目的入口文件,重写Apache规则
本文介绍了在多应用模式下,如何通过编辑Apache的.htaccess文件来重写URL规则,从而实现忽略项目入口文件index.php进行访问的方法。

热门文章

最新文章

推荐镜像

更多