Zookeeper 集群模式搭建

  • 前言
  • 文件下载
  • Zookeeper集群角色
  • 安装配置Zookeeper集群

前言

前面有单机模式zookeeper的搭建 。这里记录下自己搭建简单集群的步骤。

因为是自己学习,就还是用的搭单机的那一台服务器,搭建的集群也都在一台服务器上。

单机模式搭建传送门 Zookeeper 单机模式搭建

文件下载

文件的下载可以参考上边单机模式搭建的下载方式,这里就不再赘述。


Zookeeper集群角色

Zookeepr 集群是中心化的集群,这意味这在集群的服务器中会有leader节点作为主节点。具体的分为以下3中类型。

  1. Leader节点。
    在集群中leader节点是通过选举选择出来的,根据选举原则先添加进集群的节点会优先成为leader节点。Leader节点负责数据的读写服务,其他节点只有读服务。总的来说就是主角
  2. Follower节点。
    从名字可以看来follower节点就是主节点的备胎,用来提供读服务,同时有选举leader的权限。收到写请求是转发到leader节点进行操作
  3. Observer节点。
    Observer 节点和follower节点一样,都是主节点的小弟,提供读服务,但是Observer节点没有选举权限, 也没有成为leader节点的机会,也就是传说中的舔狗…

安装配置Zookeeper集群

  1. 知道了集群的节点类型,根据选举原则,我们至少需要创建3个实例。我这里创建了一个叫zookeepercluster 的文件夹并且创建zk9001,zk9002和zk9003 3个文件夹。拷贝加压后的源文件到3个文件夹。
 [jin@VM-0-3-centos ~]$ cd zookeepercluster/[jin@VM-0-3-centos zookeepercluster]$ lszk9001  zk9002  zk9003[jin@VM-0-3-centos zookeepercluster]$
  1. 和搭建单机模式时候一样, 分别配置log4j和zkEnv.sh文件配置log路径,配置zoo.cfg 给不同的实例分配不同的端口。因为我是在同一台服务器上部署的,所以这里的Ip都是localhost。我用的腾讯云服务器, 尝试过配置两种IP去替换localhost,一种是从外部访问的ip。另一种是私有网络的地址。但是在启动的时候都会报无法绑定端口。
 # server.<节点ID myid>=<ip>:<数据同步端口>:<选举端口> # observer节点设置# server.<节点ID myid>=<ip>:<数据同步端口>:<选举端口> :observerserver.1=localhost:2888:3888server.2=localhost:2888:3888server.3=localhost:2888:3888
  1. 配置myid文件。文件的值对应的就是上面配置sever后面的myid的值,路径和在zoo.cfg配置文件中datadir的路径一致
 [jin@VM-0-3-centos ~]$ cd zookeepercluster/[jin@VM-0-3-centos zookeepercluster]$ lszk9001  zk9002  zk9003[jin@VM-0-3-centos zookeepercluster]$ echo 1 >> /tmp/zookeeper1/myid[jin@VM-0-3-centos zookeepercluster]$ echo 2 >> /tmp/zookeeper2/myid[jin@VM-0-3-centos zookeepercluster]$ echo 3 >> /tmp/zookeeper3/myid
  1. 一次启动3个实例,然后会发现第一个启动起来的节点会是leader节点, 其他节点默认是Follower节点。可以在一个实例上创建节点去其他实例上看节点是狗存在
 [jin@VM-0-3-centos bin]$ ./zkServer.sh status ../../zk9002/conf/zoo.cfg /usr/bin/javaZooKeeper JMX enabled by defaultUsing config: ../../zk9002/conf/zoo.cfgClient port found: 9002. Client address: localhost. Client SSL: false.Mode: leader./zkCli.sh -server localhost:9002[zk: localhost:9002(CONNECTED) 0] ls /[testCluster, zookeeper][zk: localhost:9002(CONNECTED) 1] get /testClusterfirst data[zk: localhost:9002(CONNECTED) 2] set /testCluster "second data"[zk: localhost:9002(CONNECTED) 3] get /testClustersecond data[zk: localhost:9002(CONNECTED) 4] 
 [jin@VM-0-3-centos bin]$ ./zkServer.sh status ../conf/zoo.cfg /usr/bin/javaZooKeeper JMX enabled by defaultUsing config: ../conf/zoo.cfgClient port found: 9001. Client address: localhost. Client SSL: false.Mode: follower./zkCli.sh -server localhost:9001[zk: localhost:9001(CONNECTED) 0] create /testCluster "first data"Created /testCluster[zk: localhost:9001(CONNECTED) 1] get /testClusterfirst data[zk: localhost:9001(CONNECTED) 2] 
 [jin@VM-0-3-centos bin]$ ./zkServer.sh status ../../zk9003/conf/zoo.cfg /usr/bin/javaZooKeeper JMX enabled by defaultUsing config: ../../zk9003/conf/zoo.cfgClient port found: 9003. Client address: localhost. Client SSL: false.Mode: follower./zkCli.sh -server localhost:9003[zk: localhost:9003(CONNECTED) 0] ls /[testCluster, zookeeper][zk: localhost:9003(CONNECTED) 1] get /testClustersecond data[zk: localhost:9003(CONNECTED) 2] 

Zookeeper 集群模式搭建相关推荐

  1. 深入剖析Redis系列(三) - Redis集群模式搭建与原理详解

    前言 在 Redis 3.0 之前,使用 哨兵(sentinel)机制来监控各个节点之间的状态.Redis Cluster 是 Redis 的 分布式解决方案,在 3.0 版本正式推出,有效地解决了 ...

  2. 面试官:Zookeeper集群怎么搭建?

    哈喽!大家好,我是小奇,一位不靠谱的程序员 小奇打算以轻松幽默的对话方式来分享一些技术,如果你觉得通过小奇的文章学到了东西,那就给小奇一个赞吧 文章持续更新,可以微信搜索[小奇JAVA面试]第一时间阅 ...

  3. Zookeeper集群的搭建及遇到的问题

    一.Zookeeper集群的搭建 1.准备三台主机mini1.mini2.mini3,安装Zookeeper: (1)导入Zookeeper-3.4.5.tar.gz安装包             直 ...

  4. zookeeper专题:zookeeper集群模式下,leader选举流程分析

    文章目录 Zookeeper 集群模式一共有三种类型的角色 1. zookeeper启动时leader选举流程 1.1 加载配置文件,设置基本信息 1.2 指定快速选举算法,启动多级队列.线程 1.3 ...

  5. 淘淘商城23_Linux上的操作_solr集群的搭建、zookeeper集群的搭建

    安装包链接: 百度网盘: 链接:https://pan.baidu.com/s/13m_kjoZiN2cVH_nIGs0a9w  提取码:be17 一.概念理解 1. 什么是SolrCloud Sol ...

  6. redis db0 到 db15_深入剖析Redis系列: Redis集群模式搭建与原理详解

    前言 在 Redis 3.0 之前,使用 哨兵(sentinel)机制来监控各个节点之间的状态.Redis Cluster 是 Redis 的 分布式解决方案,在 3.0 版本正式推出,有效地解决了 ...

  7. Redis单机模式主从模式哨兵模式集群模式搭建

    文章目录 一.Redis下载及安装 1.1.下载 1.2.环境安装 1.3.编译安装 1.4.修改配置 1.5.启动Redis 1.6.验证Redis是否启动 1.7.进入到Redis客户端 1.8. ...

  8. sql server配置管理器在哪里看ip_微服务管理平台nacos虚拟ip负载均衡集群模式搭建...

    一.Nacos简介 Nacos是用于微服务管理的平台,其核心功能是服务注册与发现.服务配置管理. Nacos作为服务注册发现组件,可以替换Spring Cloud应用中传统的服务注册于发现组件,如:E ...

  9. Apache Zookeeper 集群环境搭建

    Zookeeper 是 一个分布式.开放源码的分布式应用程序协调服务,是Google Chubby的一个开源实现,大多数的分布式应用都需要Zookeeper的支持,这篇文章先简单的和大家分享如何搭建一 ...

最新文章

  1. Scrum看板工具Leangoo记录我的装修事件,hhhh
  2. SlidingDrawer的使用(一)
  3. Android应用底部导航栏(选项卡)实例
  4. 训练生成对抗网络的过程中,训练gan的地方为什么这里没有detach,怎么保证训练生成器的时候不会改变判别器
  5. 上海 |《PMCAFF 产品经理第一课》全面提升,微博副总裁、丁香园、1号店、淘宝、阿里巴巴产品总监最强分享...
  6. 怎么让电脑屏幕一直亮着_笔记本开机白屏怎么回事 笔记本开机白屏解决方法【详解】...
  7. 不得不看之跳槽加薪利器:2019需求最旺盛的十大IT技能
  8. java笔试题_一道简单的 Java 笔试题,但值得很多人反思
  9. 面经 | NLP算法岗(百度)
  10. C语言将十进制输出二进制、八进制、十六进制的方法总结
  11. Python 用Ursina 3D引擎做一个太阳系行星模拟器
  12. 篱笆(Fenced In)
  13. ZDNS .网址注册局发布2020年第三季度全球域名发展统计报告
  14. 如何防止自己的云服务器被暴力破解密码(限制暴力破解并发送邮件到自己的邮箱)
  15. 20221220英语学习
  16. mysql带外_【技术分享】MySQL带外攻击(含演示视频)
  17. Django插件集合
  18. Java 代码简单模拟商城购物车
  19. 3DS网络打开就黑屏,曲折漫长的维修
  20. Windows Phone 应用之虾米音乐

热门文章

  1. mysql concat 长度限制_mysql中group_concat()长度限制
  2. VSPD虚拟串口工具无法删除添加的虚拟串口
  3. 体重预测[线性回归]
  4. 电脑无法复制粘贴是什么情况,附上解决方法
  5. LeetCode hot-100 简单and中等难度,31-40.
  6. 历史的1000+篇文章总结
  7. 阿里云服务器安装mysql
  8. 使用latex做IEEE ACCESS排版时候,解决模板作者信息之间的距离问题。
  9. python输入数据带单位_python – Pandas用单位插入数据
  10. docker:配置 Docker 加速器