Zookeeper的简单使用Centos环境下

ops/2024/11/20 8:33:08/

目录

前言

一、ZOokeeper是什么?

二、安装Zookeeper

1.进入官网下载

2.解压到服务器

3.配置文件

三.使用Zookeeper

3.1启动相关指令

3.2其他指令 

3.3ACL权限

总结


前言

记录下安装zookeeper的一次经历


一、ZOokeeper是什么?

ZooKeeper是一种分布式协调服务,用于管理大型主机。在分布式环境中协调和管理服务,是一种复杂的过程,ZooKeeper通过简单的架构和API解决了这个问题。ZooKeeper运行开,发人员专注于核心应用程序逻辑,而不必担心应用程序的分布式特性。

ZooKeeper的应用场景

分布式协调组件

分布式系统中,需要有ZooKeeper作为分布式协调组件,来协调分布式系统中的

状态。

分布式

ZooKeeper在实现分布式锁上面,可以做到强一致性。

③ 无状态化的实现

可以将一些具有无状态的信息存储到ZooKeeper中,分布式服务直接去ZooKeeper中

获取相关信息。

二、安装Zookeeper

1.进入官网下载

Zookeeper官网地址

点击Getting Started标题下的Download超链接进入下载

2.解压到服务器

解压到本地路径,进入ZooKeeper的conf目录下,复制zoo_sample.cfg配置文件,命名为zoo.cfg,我这块是模拟了下集群所以有其他的文件

3.配置文件

如果是单机的话,直接默认使用配置文件就好。

三.使用Zookeeper

记得在bin目录下执行哦,或者可以添加系统环境变量(路径在/etc/profile)

Zookeeper官方指令页面

3.1启动相关指令

启动ZooKeeper

./zkServer.sh start

查看ZooKeeper的运行状态

./zkServer.sh status

关闭ZooKeeper服务

./zkServer.sh stop

 ZooKeeper客户端连接

./zkClient.sh

3.2其他指令 

  • 持久节点

创建出的节点,在会话结束后依然存在。保存数据。

create -s [节点][存储的值(可选)]

  • 持久序号节点

兼具持久节点的特征。创建出的节点,根据先后顺序,会在节点之后带上一个数值,越后执行,这个数值越大。适合于分布式锁的应用场景(单调递增)。

create -e [节点][存储的值(可选)]

  • 临时节点

创建一个临时节点后,如果创建节点的会话结束,该节点会被自动的删除。通过这个特性,zk可以实现服务的注册与发现。临时节点通过心跳机制,告诉zk服务器自己还存活着。

create -s [节点][存储的值(可选)]

  • 临时序号节点

兼具临时节点+序号节点的特征总和。

(create -es [节点] [存储的值(可选)]或 create -e -s [节点][存储的值(可选)])

  • 容器节点

是在3.5.3版本新增的节点。当我们创建完容器节点后,如果该节点下没有任何子节点,那么60秒后,该容器节点就会被zk删除。

create -c [节点][存储的值(可选)]

TTL节点

可以指定节点的到期时间,到期后会被zk删除,需要通过系统配置extendedTypesEnabled=true开启。

create -t [毫秒数] [节点][存储的值(可选)]

  • 查询某个节点下所有“一级”节点

ls [节点路径]

查询某节点下“所有”节点

ls -R [节点路径]

查询节点上存储的值

get [节点路径]

查询节点的详细信息

get -s [节点路径]

  • 设置/修改节点上存储的值

set [节点路径] [存储的值]

  • 删除节点(删除某节点,并且该节点下没有子节点)

delete [节点路径]

  • 删除节点(删除某节点以及节点下的所有子节点)

deleteall [节点路径]

  • 乐观锁删除(如果删除的版本不匹配,异常提醒:version No is not valid)

delete -v [dataVersion] [节点路径]

3.3ACL权限

定义了什么样的用户能够操作这个节点,且能够进行怎样的操作。

当前会话添加权限账号和权限密码。

addauth digest [用户名]:[密码]

创建节点并设置权限。

create [节点] [节点value] auth:[用户名]:[密码]:[ACL命令]


总结

以上就是今天要分享的内容


http://www.ppmy.cn/ops/135188.html

相关文章

缓存工具类编写

缓存工具类编写 一般操作 在外面日常开发中&#xff0c;经常会有为了减少数据库压力&#xff0c;而将数据保存到缓存中并设置一个过期时间的操作。日常代码如下&#xff1a; Autowired private RedisTemplate<String, String> redisTemplate;public Object queryDataW…

华为VPN技术

1.启动设备 2.配置IP地址 [FW1]int g1/0/0 [FW1-GigabitEthernet1/0/0]ip add 192.168.1.254 24 [FW1-GigabitEthernet1/0/0]int g1/0/1 [FW1-GigabitEthernet1/0/1]ip add 100.1.1.1 24 [FW1-GigabitEthernet1/0/1]service-manage ping permit [FW2]int g1/0/0 [FW2-Gi…

(二)PyTorch简要教学

文章目录 PyTorch教学一、训练一个神经网络二、用PyTorch是怎么去做的&#xff08;一&#xff09;Dataset & DataLoader&#xff08;二&#xff09;Tensors&#xff08;1&#xff09;Tensor是什么&#xff08;2&#xff09;怎么获得Tensor&#xff08;3&#xff09;Tensor相…

axios 二次封装及 api 解耦【Vue】

文章目录 一、基础知识1. 定义和使用2. 并发请求3. 全局配置4. 封装 axios5. axios 拦截器6. Vue 中封装 axios 二、axios 二次封装三、api 解耦 一、基础知识 1. 定义和使用 axios 是基于 promise 对 ajax 的一种封装&#xff0c;是异步请求的一种工具。 axios 中文文档&am…

java语言特性(持续更新)

1.java里创建的数组默认初始化是0元素&#xff0c;未初始化的基本元素是不可用的,但是在c语言里&#xff0c;全是随机数值。 int a;for(int i0;i<1;i) { //即使局部初始化也不可以a9;}System.out.println(a); //错误示例 int[][] anew int[3][3]; for(int[] i:a)…

机器学习—误差分析

帮助运行诊断的最重要的方法是选择下一步要尝试的内容&#xff0c;提高你的学习算法性能&#xff0c;偏差和方差可能是最重要的想法&#xff0c;然后是错误分析。 假设Mcv500&#xff0c;即有500个交叉验证示例&#xff0c;你的算法错误的分类了100个&#xff0c;错误分析过程…

递归求二项式系数值

时间限制: 1s 类别: 递归->简单 问题描述 根据以下公式&#xff1a; 输入说明 输入两个整数k和n&#xff0c;输入的数据保证其结果在int表示时不会溢出。 输出说明 输出运算结果 #include<iostream> #include<string> #include<algorithm> using na…

11.15 机器学习-集成学习方法-随机森林

# 机器学习中有一种大类叫**集成学习**&#xff08;Ensemble Learning&#xff09;&#xff0c;集成学习的基本思想就是将多个分类器组合&#xff0c;从而实现一个预测效果更好的集成分类器。集成算法可以说从一方面验证了中国的一句老话&#xff1a; # 三个臭皮匠&#xff0c…