Zookeeper实战

文章目录

分布式安装部署

思路:先搞定一台服务器,再克隆出两台,形成集群。

安装Zookeeper

点我传送

配置服务器编号

  1. /opt/zookeeper/zkData目录下新建一个myid文件
  2. 在文件中添加与server对应的编号:1(整个文件的内容就是1)
  3. 其余两台服务器分别对应2和3

配置zoo.cfg文件

打开zoo.cfg文件,增加以下配置:

####################### cluster #######################
server.1=192.168.204.141:2888:3888 
server.2=192.168.204.142:2888:3888
server.3=192.168.204.143:2888:3888

配置参数解读:server.A=B:C:D

  • A:一个数字,表示第几号服务器,集群模式下配置的/opt/zookeeper/zkData/myid文件里面的数据就是A的值。
  • B:服务器的ip地址。
  • C:与集群中Leader服务器交换信息的端口。
  • D:选举时的专用端口,万一集群中的Leader服务器挂了,需要一个端口来重新进行选举,选出一个新的Leader,而这个端口就是用来执行选举时服务器相互通信的端口。

配置其余两台服务器

  1. 复制虚拟机:点我传送
  2. 进入系统后,修改linux中的ip地址,修改/opt/zookeeper/zkData/myid中的数值为2

集群操作

# 关闭防火墙
[root@localhost bin] systemctl stop firewalld.service

# 启动第一台
[root@localhost bin] ./zkServer.sh start

# 查看状态
[root@localhost bin] ./zkServer.sh status
	ZooKeeper JMX enabled by default
	Using config: /opt/zookeeper/bin/../conf/zoo.cfg 
	Client port found: 2181. Client address: localhost. 
	Error contacting service. It is probably not running.
# 因为没有超过半数以上的服务器,所以集群失败(防火墙没有关闭也会导致失败)

# 当启动第二台服务器时
# 查看第1台的状态:
Mode: follower
# 查看第2台的状态:
Mode: leader

客户端命令行操作

# 启动客户端(在zookeeper的bin目录下执行)
[root@localhost bin] ./zkCli.sh

# 帮助手册
help

# 查看当前znode中所包含的内容
ls /

# 查看当前节点的详细数据(Zookeeper老版本使用 ls2 / )
ls -s /
	cZxid			# 创建节点的事务
	                    # 每次修改ZooKeeper状态都会收到一个zxid形式的时间戳,也就是ZooKeeper事务ID
	                    # 事务ID是ZooKeeper中所有修改总的次序
	                    # 每个修改都有唯一的zxid,如果zxid1小于zxid2,那么zxid1在zxid2之前发生
    ctime			# 被创建的毫秒数(从1970年开始)
    mZxid			# 最后更新的事务zxid
    mtime			# 最后修改的毫秒数(从1970年开始)
    pZxid			# 最后更新的子节点zxid
    cversion		# 创建版本号,子节点修改次数
    dataVersion		# 数据变化版本号
    aclVersion		# 权限版本号
    ephemeralOwner	# 如果是临时节点,这个是znode拥有者的session id。如果不是临时节点则是0
    dataLength		# 数据长度
    numChildren		# 子节点数
    
# 创建节点
create /节点名
create /父节点/子节点	# 父节点必须提前创建好(逐级创建)
create -e /节点名 		# 创建短暂节点:创建成功后,quit退出客户端,重新连接,短暂的节点消失
create -s /节点名		# 如果原来没有节点,则序号从0开始递增;如果原节点下已有2个节点,则排序时从2开始,以此类推

# 创建节点并保存数据
create /节点名 "数据内容"

# 获取节点数据
get /节点名

# 修改节点数据
set /节点名 "数据内容"

# 监听节点(监听节点的数据是否发生变化及子节点的路径是否发生变化)
addWatch /节点名

# 删除节点
delete /节点名
deleteall /节点名	# 删除节点及节点下的所有内容(递归删除)

原文地址:https://blog.csdn.net/Chauncey_Ren/article/details/119452116

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


#一、什么是ZooKeeper**ZooKeeper是一个分布式服务协调框架**,提供了分布式数据一致性的解决方案,基于ZooKeeper的**数据结构,Watcher,选举机制**等特点,可以**实现数据的发布/订阅,软负载均衡,命名服务,统一配置管理,分布式锁,集群管理**等等。#二、为什么使用ZooKeeperZooKeeper能保证:*
2.ZooKeeper介绍2.1.ZooKeeper由来正式介绍ZooKeeper之前,我们先来看看ZooKeeper的由来,还挺有意思的。下面这段内容摘自《从Paxos到ZooKeeper》第四章第一节,推荐大家阅读一下:ZooKeeper最早起源于雅虎研究院的一个研究小组。在当时,研究人员发现,在雅虎内部很
Zookeeper概述1.ZooKeeper最为主要的使⽤场景,是作为分布式系统的分布式协同服务。2.分布式系统中每台服务器的算力和资源都是有限的,但是我们通过分布式系统组成集群就可以对算力和资源进行无限扩张,但是分布式节点间的协调就成了问题。3.就像我们的开发团队之间的协作一
环境:1.VMware®Workstation12Pro 2.CentOS7 3.zookeeper-3.4.6安装步骤1.下载zookeeper本文使用的zookeeper下载地址如下(大家也可以下载其它版本)链接:https://pan.baidu.com/s/1Ab9F53jNy7upsrYHCacWrw 提取码:jqyn 
###1\.面试官:工作中使用过Zookeeper嘛?你知道它是什么,有什么用途呢?**小菜鸡的我:***有使用过的,使用ZooKeeper作为**dubbo的注册中心**,使用ZooKeeper实现**分布式锁**。*ZooKeeper,它是一个开放源码的**分布式协调服务**,它是一个集群的管理者,它将简单易用的接口提供给用户。*
##2\.ZooKeeper介绍###2.1\.ZooKeeper由来正式介绍ZooKeeper之前,我们先来看看ZooKeeper的由来,还挺有意思的。下面这段内容摘自《从Paxos到ZooKeeper》第四章第一节,推荐大家阅读一下:>ZooKeeper最早起源于雅虎研究院的一个研究小组。在当时,研究人员发现,在雅虎内部很
环境准备:windows:jdk8+nginx+ab压测centos7:redis+zookeeper3.3.6ab下载链接:https://www.apachelounge.com/download/测试思路:windows下使用springboot编写秒杀接口,商品数据存在redis,运行三个服务,利用nginx做代理,使用ab分别测试单机锁,自实现zookeeper分布式锁和Curator
由于只有一台电脑,所以搭建一个伪集群(伪集群就是在一台电脑上模拟搭建集群,走不同端口启动,真实的情况在每台机器上搭建一个zookeeper或者每台机器两个zookeeper等),道理是一样的,只不过要注意别被防火墙或者安全组规则挡住了zookeeper节点间的通信,每个节点直接的网络要是通的。集群数
常用命令总结(linux运行.sh结尾的脚本,window运行.cmd结尾的脚本,一下均为linux运行的,直接将.sh改为.cmd即可):linux环境:1.启动ZK服务:bin/zkServer.shstart2.查看ZK服务状态:bin/zkServer.shstatus3.停止ZK服务:bin/zkServer.shstop4.重启ZK服务:bin/zkServer.shrest
Kubernetes简介Kubernetes(简称K8S,K和S之间有8个字母)是用于自动部署,扩展和管理容器化应用程序的开源系统。它将组成应用程序的容器组合成逻辑单元,以便于管理和服务发现。Kubernetes源自Google15年生产环境的运维经验,同时凝聚了社区的最佳创意和实践。Kubernetes具有如下特性:
###正文ZooKeeper很流行,有个基本的疑问:*ZooKeeper是用来做什么的?*之前没有ZK,为什么会诞生ZK?OK,解答一下上面的疑问:(下面是凭直觉说的)*ZooKeeper是用于简化分布式应用开发的,对开发者屏蔽一些分布式应用开发过程中的底层细节*ZooKeeper对外暴露简单的API,用于支持分
#一、什么是ZooKeeper**ZooKeeper是一个分布式服务协调框架**,提供了分布式数据一致性的解决方案,基于ZooKeeper的**数据结构,Watcher,选举机制**等特点,可以**实现数据的发布/订阅,软负载均衡,命名服务,统一配置管理,分布式锁,集群管理**等等。#二、为什么使用ZooKeeperZooKeeper能保证:*
点赞再看,养成习惯,微信搜索「小大白日志」关注这个搬砖人。文章不定期同步公众号,还有各种一线大厂面试原题、我的学习系列笔记。zoo.cfg即/usr/local/java/zookeeper/conf下的zoo_sample.cfgzoo.cfg内含参数:tickTime、initLimit、syncLimit、dataDir、dataLogDir、clientPort
正文ZooKeeper很流行,有个基本的疑问:ZooKeeper是用来做什么的?之前没有ZK,为什么会诞生ZK?OK,解答一下上面的疑问:(下面是凭直觉说的)ZooKeeper是用于简化分布式应用开发的,对开发者屏蔽一些分布式应用开发过程中的底层细节ZooKeeper对外暴露简单的API,用于支持分布式应用开
#**NO1:说说zookeeper是什么?**ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现(Chubby是不开源的),它是集群的管理者,监视着集群中各个节点的状态根据节点提交的反馈进行下一步合理操作。最终,将简单易用的接口和性能高效、功能稳定的系统提供
正文ZooKeeper很流行,有个基本的疑问:ZooKeeper是用来做什么的?之前没有ZK,为什么会诞生ZK?OK,解答一下上面的疑问:(下面是凭直觉说的)ZooKeeper是用于简化分布式应用开发的,对开发者屏蔽一些分布式应用开发过程中的底层细节ZooKeeper对外暴露简单的API,用于支持分布式应用开
NO1:说说zookeeper是什么?ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现(Chubby是不开源的),它是集群的管理者,监视着集群中各个节点的状态根据节点提交的反馈进行下一步合理操作。最终,将简单易用的接口和性能高效、功能稳定的系统提供
#**NO1:说说zookeeper是什么?**ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现(Chubby是不开源的),它是集群的管理者,监视着集群中各个节点的状态根据节点提交的反馈进行下一步合理操作。最终,将简单易用的接口和性能高效、功能稳定的系统提供
一、什么是ZooKeeperZooKeeper是一个分布式服务协调框架,提供了分布式数据一致性的解决方案,基于ZooKeeper的数据结构,Watcher,选举机制等特点,可以实现数据的发布/订阅,软负载均衡,命名服务,统一配置管理,分布式锁,集群管理等等。二、为什么使用ZooKeeperZooKeeper能保证:更新请求
#**NO1:说说zookeeper是什么?**ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现(Chubby是不开源的),它是集群的管理者,监视着集群中各个节点的状态根据节点提交的反馈进行下一步合理操作。最终,将简单易用的接口和性能高效、功能稳定的系统提供