【zookeeper】zookeeper的shell操作
Zookeeper的shell操作
本章节将分享一些zookeeper客服端的一些命令,实验操作有助于理解zookeeper的数据结构。
Zookeeper命令工具
在前一章的基础上,在启动Zookeeper服务之后,输入以下命令,连接到Zookeeper服务。连接成功之后,系统会输出Zookeeper的相关环境及配置信息,并在屏幕输出“welcome to Zookeeper!”等信息,倒数几行的位置,如下:
[root@k8s-m1 bin]# zkCli.sh -server k8s-m1:2181
Connecting to k8s-m1:2181
2023-08-31 16:36:48,125 [myid:] - INFO [main:Environment@100] - Client environment:zookeeper.version=3.4.12-e5259e437540f349646870ea94dc2658c4e44b3b, built on 03/27/2018 03:55 GMT
2023-08-31 16:36:48,129 [myid:] - INFO [main:Environment@100] - Client environment:host.name=k8s-m1
2023-08-31 16:36:48,130 [myid:] - INFO [main:Environment@100] - Client environment:java.version=1.8.0_65
2023-08-31 16:36:48,132 [myid:] - INFO [main:Environment@100] - Client environment:java.vendor=Oracle Corporation
2023-08-31 16:36:48,133 [myid:] - INFO [main:Environment@100] - Client environment:java.home=/opt/jdk1.8.0_65/jre
2023-08-31 16:36:48,133 [myid:] - INFO [main:Environment@100] - Client environment:java.class.path=/opt/zookeeper-3.4.12/bin/../build/classes:/opt/zookeeper-3.4.12/bin/../build/lib/*.jar:/opt/zookeeper-3.4.12/bin/../lib/slf4j-log4j12-1.7.25.jar:/opt/zookeeper-3.4.12/bin/../lib/slf4j-api-1.7.25.jar:/opt/zookeeper-3.4.12/bin/../lib/netty-3.10.6.Final.jar:/opt/zookeeper-3.4.12/bin/../lib/log4j-1.2.17.jar:/opt/zookeeper-3.4.12/bin/../lib/jline-0.9.94.jar:/opt/zookeeper-3.4.12/bin/../lib/audience-annotations-0.5.0.jar:/opt/zookeeper-3.4.12/bin/../zookeeper-3.4.12.jar:/opt/zookeeper-3.4.12/bin/../src/java/lib/*.jar:/opt/zookeeper-3.4.12/bin/../conf:.:/opt/jdk1.8.0_65/lib/dt.jar:/opt/jdk1.8.0_65/lib/tools.jar
2023-08-31 16:36:48,133 [myid:] - INFO [main:Environment@100] - Client environment:java.library.path=/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib
2023-08-31 16:36:48,133 [myid:] - INFO [main:Environment@100] - Client environment:java.io.tmpdir=/tmp
2023-08-31 16:36:48,133 [myid:] - INFO [main:Environment@100] - Client environment:java.compiler=<NA>
2023-08-31 16:36:48,133 [myid:] - INFO [main:Environment@100] - Client environment:os.name=Linux
2023-08-31 16:36:48,133 [myid:] - INFO [main:Environment@100] - Client environment:os.arch=amd64
2023-08-31 16:36:48,133 [myid:] - INFO [main:Environment@100] - Client environment:os.version=3.10.0-957.el7.x86_64
2023-08-31 16:36:48,133 [myid:] - INFO [main:Environment@100] - Client environment:user.name=root
2023-08-31 16:36:48,133 [myid:] - INFO [main:Environment@100] - Client environment:user.home=/root
2023-08-31 16:36:48,134 [myid:] - INFO [main:Environment@100] - Client environment:user.dir=/opt/apache-zookeeper-3.7.1-bin/bin
2023-08-31 16:36:48,135 [myid:] - INFO [main:ZooKeeper@441] - Initiating client connection, connectString=k8s-m1:2181 sessionTimeout=30000 watcher=org.apache.zookeeper.ZooKeeperMain$MyWatcher@5c29bfd
Welcome to ZooKeeper!
2023-08-31 16:36:48,166 [myid:] - INFO [main-SendThread(k8s-m1:2181):ClientCnxn$SendThread@1028] - Opening socket connection to server k8s-m1/192.168.2.140:2181. Will not attempt to authenticate using SASL (unknown error)
JLine support is enabled
2023-08-31 16:36:48,241 [myid:] - INFO [main-SendThread(k8s-m1:2181):ClientCnxn$SendThread@878] - Socket connection established to k8s-m1/192.168.2.140:2181, initiating session
[zk: k8s-m1:2181(CONNECTING) 0] 2023-08-31 16:36:48,314 [myid:] - INFO [main-SendThread(k8s-m1:2181):ClientCnxn$SendThread@1302] - Session establishment complete on server k8s-m1/192.168.2.140:2181, sessionid = 0x1002552fac20000, negotiated timeout = 30000WATCHER::WatchedEvent state:SyncConnected type:None path:null[zk: k8s-m1:2181(CONNECTED) 0]
输入help之后,屏幕会输出可用的Zookeeper命令,如下所示
[zk: k8s-m1:2181(CONNECTED) 0]
[zk: k8s-m1:2181(CONNECTED) 0] help
ZooKeeper -server host:port cmd argsstat path [watch]set path data [version]ls path [watch]delquota [-n|-b] pathls2 path [watch]setAcl path aclsetquota -n|-b val pathhistory redo cmdnoprintwatches on|offdelete path [version]sync pathlistquota pathrmr pathget path [watch]create [-s] [-e] path data acladdauth scheme authquit getAcl pathclose connect host:port
使用Zookeeper命令的简单操作
(1)使用ls命令查看当前Zookeeper中所包含的内容:ls /
[zk: k8s-m1:2181(CONNECTED) 1] ls /
[zookeeper]
(2)创建一个新的Znode节点"aa",以及和它相关字符,执行命令:create /aa “first zookeeper”,默认是不带编号的
[zk: k8s-m1:2181(CONNECTED) 2] create /aa "first zookeeper"
Created /aa
创建带编号的持久性节点"bb",
[zk: k8s-m1:2181(CONNECTED) 3] create -s /bb "bb"
Created /bb0000000006
创建不带编号的临时节点"cc"
[zk: k8s-m1:2181(CONNECTED) 4] create -e /cc "cc"
Created /cc
创建带编号的临时节点"dd"
[zk: k8s-m1:2181(CONNECTED) 5] create -s -e /dd "dd"
Created /dd0000000008
(3) 再次使用ls命令来查看现在Zookeeper的中所包含的内容:ls /
[zk: k8s-m1:2181(CONNECTED) 6] ls /
[aa, bb0000000006, cc, dd0000000008, zookeeper]
此时看到,上面的四个节点aa/bb/cc/dd都已经被创建。
关闭本次连接回话session,并直接使用connect重新打开一个连接。
[zk: k8s-m1:2181(CONNECTED) 7] close
2023-08-31 20:17:54,078 [myid:] - INFO [main:ZooKeeper@687] - Session: 0x1002552fac20002 closed
[zk: k8s-m1:2181(CLOSED) 8] 2023-08-31 20:17:54,084 [myid:] - INFO [main-EventThread:ClientCnxn$EventThread@521] - EventThread shut down for session: 0x1002552fac20002[zk: k8s-m1:2181(CLOSED) 8] ls /
Not connected
[zk: k8s-m1:2181(CLOSED) 9] connect k8s-m1:2181
2023-08-31 20:18:22,837 [myid:] - INFO [main:ZooKeeper@441] - Initiating client connection, connectString=k8s-m1:2181 sessionTimeout=30000 watcher=org.apache.zookeeper.ZooKeeperMain$MyWatcher@5680a178
[zk: k8s-m1:2181(CONNECTING) 10] 2023-08-31 20:18:22,841 [myid:] - INFO [main-SendThread(k8s-m1:2181):ClientCnxn$SendThread@1028] - Opening socket connection to server k8s-m1/192.168.2.140:2181. Will not attempt to authenticate using SASL (unknown error)
2023-08-31 20:18:22,842 [myid:] - INFO [main-SendThread(k8s-m1:2181):ClientCnxn$SendThread@878] - Socket connection established to k8s-m1/192.168.2.140:2181, initiating session
2023-08-31 20:18:22,863 [myid:] - INFO [main-SendThread(k8s-m1:2181):ClientCnxn$SendThread@1302] - Session establishment complete on server k8s-m1/192.168.2.140:2181, sessionid = 0x1002552fac20003, negotiated timeout = 30000WATCHER::WatchedEvent state:SyncConnected type:None path:null
重新查看,临时节点已经随着上一次的会话关闭自动删除了
[zk: k8s-m1:2181(CONNECTED) 10] ls /
[aa, bb0000000006, zookeeper]
[zk: k8s-m1:2181(CONNECTED) 11]
(4)使用get命令来确认第二步中所创建的Znode是否包含我们创建的字符串,执行命令:get /aa
[zk: k8s-m1:2181(CONNECTED) 11] get /aa
first zookeeper
cZxid = 0x20000000e
ctime = Thu Aug 31 19:53:59 CST 2023
mZxid = 0x20000000e
mtime = Thu Aug 31 19:53:59 CST 2023
pZxid = 0x20000000e
cversion = 0
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 15
numChildren = 0
[zk: k8s-m1:2181(CONNECTED) 12]
(5)接下来通过set命令来对zk所关联的字符串进行设置,执行命令:set /aa haha123
[zk: k8s-m1:2181(CONNECTED) 12] set /aa hello
cZxid = 0x20000000e
ctime = Thu Aug 31 19:53:59 CST 2023
mZxid = 0x200000014
mtime = Thu Aug 31 20:20:39 CST 2023
pZxid = 0x20000000e
cversion = 0
dataVersion = 1
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 5
numChildren = 0
[zk: k8s-m1:2181(CONNECTED) 13]
(6)再次使用get命令来查看,上次修改的内容,执行命令:get /aa
[zk: k8s-m1:2181(CONNECTED) 13] get /aa
hello
cZxid = 0x20000000e
ctime = Thu Aug 31 19:53:59 CST 2023
mZxid = 0x200000014
mtime = Thu Aug 31 20:20:39 CST 2023
pZxid = 0x20000000e
cversion = 0
dataVersion = 1
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 5
numChildren = 0
(7)下面我们将刚才创建的Znode删除,执行命令:delete /aa
[zk: k8s-m1:2181(CONNECTED) 14] delete /aa
(8) 最后再次使用ls命令查看Zookeeper中的内容,执行命令:ls /
[zk: k8s-m1:2181(CONNECTED) 15] ls /
[bb0000000006, zookeeper]
经过验证,zk节点aa已经删除。
(9) 退出,执行命令:quit
[zk: k8s-m1:2181(CONNECTED) 17] quit
Quitting...
2023-08-31 20:22:07,820 [myid:] - INFO [main:ZooKeeper@687] - Session: 0x1002552fac20003 closed
2023-08-31 20:22:07,820 [myid:] - INFO [main-EventThread:ClientCnxn$EventThread@521] - EventThread shut down for session: 0x1002552fac20003
[root@k8s-m1 bin]#
查看状态信息
查看一个文件的状态信息
[zk: k8s-m1:2181(CONNECTED) 0] ls /
[bb0000000006, zookeeper]
[zk: k8s-m1:2181(CONNECTED) 1] stat /bb
Node does not exist: /bb
[zk: k8s-m1:2181(CONNECTED) 2] stat /bb0000000006
cZxid = 0x20000000f
ctime = Thu Aug 31 19:56:17 CST 2023
mZxid = 0x20000000f
mtime = Thu Aug 31 19:56:17 CST 2023
pZxid = 0x20000000f
cversion = 0
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 2
numChildren = 0
详细解释:
zxid: 一个事务编号,zookeeper集群内部的所有事务,都有一个全局的唯一的顺序的编号。
它由两部分组成: 就是一个 64位的长整型 long
高32位: 用来标识leader关系是否改变,如 0x2
低32位: 用来做当前这个leader领导期间的全局的递增的事务编号,如上面的0000000f
状态属性 | 说明 |
---|---|
cZxid | 数据节点创建时的事务ID |
ctime | 数据节点创建时的时间 |
mZxid | 数据节点最后一次更新时的事务ID |
mtime | 数据节点最后一次更新时的时间 |
pZxid | 数据节点的子节点列表最后一次被修改(是子节点列表变更,而不是子节点内容变更)时的事务ID |
cversion | 子节点的版本号 |
dataVersion | 数据节点的版本号 |
aclVersion | 数据节点的ACL版本号 |
ephemeralOwner | 如果节点是临时节点,则表示创建该节点的会话的SessionID;如果节点是持久节点,则该属性值为0 |
dataLength | 数据内容的长度 |
numChildren | 数据节点当前的子节点个数 |
(1)修改节点a的数据,mZxid、dataVersion、dataLength 存储信息发生变化
[zk: k8s-m1:2181(CONNECTED) 10] ls /
[bb0000000006, zookeeper]
[zk: k8s-m1:2181(CONNECTED) 12] create /aa "first zookeeper"
Created /aa
[zk: k8s-m1:2181(CONNECTED) 13] ls /
[bb0000000006, aa, zookeeper]
[zk: k8s-m1:2181(CONNECTED) 14] set /aa 'aa'
cZxid = 0x200000019
ctime = Thu Aug 31 20:27:57 CST 2023
mZxid = 0x20000001a
mtime = Thu Aug 31 20:28:32 CST 2023
pZxid = 0x200000019
cversion = 0
dataVersion = 1
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 2
numChildren = 0
[zk: k8s-m1:2181(CONNECTED) 16]
(2)创建新的节点bb,状态信息都会发生变化,zxid的事物ID也会增加
[zk: k8s-m1:2181(CONNECTED) 18] create /bb "second zookeeper"
Created /bb
[zk: k8s-m1:2181(CONNECTED) 19] stat /bb
cZxid = 0x20000001b
ctime = Thu Aug 31 20:31:06 CST 2023
mZxid = 0x20000001b
mtime = Thu Aug 31 20:31:06 CST 2023
pZxid = 0x20000001b
cversion = 0
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 16
numChildren = 0
(3)在aa节点下面新增节点bb,pZxid、cversion、numChildren 发生改变
[zk: k8s-m1:2181(CONNECTED) 21] create /aa/bb 'aabb'
Created /aa/bb
[zk: k8s-m1:2181(CONNECTED) 22] stat /aa
cZxid = 0x200000019
ctime = Thu Aug 31 20:27:57 CST 2023
mZxid = 0x20000001a
mtime = Thu Aug 31 20:28:32 CST 2023
pZxid = 0x20000001c
cversion = 1
dataVersion = 1
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 2
numChildren = 1
(4)ephemeralOwner 持久性的节点信息是0x0临时的几点信息是本次会话的sessionid,如图
(5) 查看leader并将其干掉,此时将选择另一台机器成为leader,重新创建一个文件ff,此时发现czxid的前3位和之前发生变化,说明换了leader。其实前3位应该就是我们设置的serverid值。
#k8s-m2为leader
[root@k8s-m2 tmp]# /opt/apache-zookeeper-3.7.1-bin/bin/zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /opt/apache-zookeeper-3.7.1-bin/bin/../conf/zoo.cfg
Mode: leader
[root@k8s-m2 tmp]# /opt/apache-zookeeper-3.7.1-bin/bin/zkServer.sh stop
ZooKeeper JMX enabled by default
Using config: /opt/apache-zookeeper-3.7.1-bin/bin/../conf/zoo.cfg
Stopping zookeeper ... STOPPED#在原来的界面继续操作
[zk: k8s-m1:2181(CONNECTED) 2] create /f 'ff'
Created /f
[zk: k8s-m1:2181(CONNECTED) 3] stat /f
cZxid = 0x300000001
ctime = Thu Aug 31 20:40:25 CST 2023
mZxid = 0x300000001
mtime = Thu Aug 31 20:40:25 CST 2023
pZxid = 0x300000001
cversion = 0
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 2
numChildren = 0
[zk: k8s-m1:2181(CONNECTED) 4]
更多关于zookeeper的知识分享,请前往博客主页。编写过程中,能力有限难免出现差错,敬请指正
相关文章:

【zookeeper】zookeeper的shell操作
Zookeeper的shell操作 本章节将分享一些zookeeper客服端的一些命令,实验操作有助于理解zookeeper的数据结构。 Zookeeper命令工具 在前一章的基础上,在启动Zookeeper服务之后,输入以下命令,连接到Zookeeper服务。连接成功之后&…...

R语言Meta分析核心技术
Meta分析是针对某一科研问题,根据明确的搜索策略、选择筛选文献标准、采用严格的评价方法,对来源不同的研究成果进行收集、合并及定量统计分析的方法,最早出现于“循证医学”,现已广泛应用于农林生态,资源环境等方面。…...

Oracle数据库尚硅谷学习笔记
文章目录 Oracle数据库体系结构简介补充SQL初步导入sql文件别名连接符distinct去重的坑 过滤和排序数据日期格式比较运算其它比较运算符逻辑运算优先级排序 单行函数SQL中不同类型的函数单行函数字符数值日期转换通用 使用条件表达式嵌套查询 多表查询等值连接非等值连接左外连…...

CG MAGIC进行实体渲染后!分析渲染器CR和VR的区别之处!
新手小白来说,如何选择渲染器,都会提出疑问? 渲染效果图究竟用CR渲染器还是VR渲染器呢? 今天,CG MAGIC小编通过一个真实的项目场景,实例渲染之后,CR渲染器和VR渲染器区别有哪几点? 1…...

Ubuntu下Python3与Python2相互切换
参考文章:https://blog.csdn.net/Nicolas_shen/article/details/124144931 设置优先级 sudo update-alternatives --install /usr/bin/python python /usr/bin/python2 100 sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 200...
【深度学习】实验07 使用TensorFlow完成逻辑回归
文章目录 使用TensorFlow完成逻辑回归1. 环境设定2. 数据读取3. 准备好placeholder4. 准备好参数/权重5. 计算多分类softmax的loss function6. 准备好optimizer7. 在session里执行graph里定义的运算 附:系列文章 使用TensorFlow完成逻辑回归 TensorFlow是一种开源的…...

2023-09-04 Linux 让shell编译脚本里面设置的环境变量改变kernel里面驱动文件的宏定义值方法,我这里用来做修改固件版本
一、原生的读取版本接口是/proc/version,我这里需要提供获取固件版本号的api给app,因为版本号会经常需要修改,如果每次都到kernel下修改比较麻烦,我这里是想在编译脚本里面对版本号进行修改,这样方便一点。 二、主要修…...
Python操作Excel实战:Excel行转列
# 1、原始数据准备 样例数据准备 地区1m2-5m6-10m11-20m21-40m地区单价计费单位费用最小值费用最大值北京13012011010090 天津13012011010090 石家庄13012011010090 保定140130120110100 张家口170150130120110 邢台1401201101…...
java实现迭代器模式
迭代器模式(Iterator Pattern)是一种行为型设计模式,它提供一种方法来顺序访问一个聚合对象(如列表、集合、数组等)中的元素,而不暴露聚合对象的内部表示。迭代器模式通常包括以下角色:迭代器&a…...

C++day7模板、异常、auto关键字、lambda表达式、数据类型转换、STL、list、文件操作
作业 封装一个学生的类,定义一个学生这样类的vector容器, 里面存放学生对象(至少3个) 再把该容器中的对象,保存到文件中。 再把这些学生从文件中读取出来,放入另一个容器中并且遍历输出该容器里的学生。 #include …...

【校招VIP】产品分析之活动策划宣传
考点介绍: 产品的上线运营是非常重要的。应该来说好的产品都是运营出来的,在一运营过程中难免会依靠策划活动来提高产品知名度、用户数。用户粘度等等指标一,如何策划一个成功的活动就显得非常重要。 产品分析之活动策划宣传-相关题目及解析…...
node基础之一:fs 模块
概念:文件的创建、删除、重命名、移动、写入、读取等 const fs require("fs");// 写入 fs.writeFile("./demo.txt", "hello", (err) > {}); fs.writeFileSync();// 追加 fs.appendFile("./demo.txt", "hello&quo…...

如何快速搭建母婴行业的微信小程序?
如果你想为你的母婴行业打造一个独特的小程序,但没有任何编程经验,别担心!现在有许多小程序制作平台提供了简单易用的工具,让你可以轻松地建立自己的小程序。接下来,我将为你详细介绍搭建母婴行业小程序的步骤。 首先&…...

【科普向】Jmeter 如何测试接口保姆式教程
现在对测试人员的要求越来越高,不仅仅要做好功能测试,对接口测试的需求也越来越多!所以也越来越多的同学问,怎样才能做好接口测试? 要真正的做好接口测试,并且弄懂如何测试接口,需要从如下几个…...

阿里云2核4G服务器5M带宽5年费用价格明细表
阿里云2核4G服务器5M带宽可以选择轻量应用服务器或云服务器ECS,轻量2核4G4M带宽服务器297元一年,2核4G云服务器ECS可以选择计算型c7、c6或通用算力型u1实例等,买5年可以享受3折优惠,阿腾云分享阿里云服务器2核4G5M带宽五年费用表&…...

【图解RabbitMQ-2】图解JMS规范与AMQP协议是什么
🧑💻作者名称:DaenCode 🎤作者简介:CSDN实力新星,后端开发两年经验,曾担任甲方技术代表,业余独自创办智源恩创网络科技工作室。会点点Java相关技术栈、帆软报表、低代码平台快速开…...

springboot整合mybatis实现增删改查(xml)--项目阶段1
目录 一、前言 二、创建项目 创建MySQL数据库和表 创建springboot项目 本文总体代码结构图预览 三、编写代码 (一)新建实体层属性类 (二)新建数据层mapper接口 (三)新建mapper的映射SQL(…...
springboot文件上传异步报错
因为迁移的生产环境,在新的服务器发生了之前没有遇到的问题,这种问题是在异步文件上传的时候才会出现 错误信息如下 16:17:50.009 ERROR c.w.einv.minio.service.impl.MinioFileServiceImpl - 文件上传错误! java.io.FileNotFoundException: /applicati…...
error: unable to unlink old ‘.gitlab-ci.yml‘: Permission denied
#gitlab-runner 执行代码git pull origin xxx 更新时候报 error: unable to unlink old ‘.gitlab-ci.yml’: Permission denied 问题环境:centos 部署gitlab-runner 执行脚本方式 选的shell 产生问题的原因:gitlab-runner程序进程占用锁定了.gitlab-ci…...

AJAX学习笔记3练习
AJAX学习笔记2发送Post请求_biubiubiu0706的博客-CSDN博客 1.验证用户名是否可用 需求,用户输入用户名,失去焦点-->onblur失去焦点事件,发送AJAX POST请求,验证用户名是否可用 新建表 前端页面 WEB-INF下新建lib包引入依赖,要用JDBC 后端代码 package com.web;import jav…...

css实现圆环展示百分比,根据值动态展示所占比例
代码如下 <view class""><view class"circle-chart"><view v-if"!!num" class"pie-item" :style"{background: conic-gradient(var(--one-color) 0%,#E9E6F1 ${num}%),}"></view><view v-else …...

dedecms 织梦自定义表单留言增加ajax验证码功能
增加ajax功能模块,用户不点击提交按钮,只要输入框失去焦点,就会提前提示验证码是否正确。 一,模板上增加验证码 <input name"vdcode"id"vdcode" placeholder"请输入验证码" type"text&quo…...
ffmpeg(四):滤镜命令
FFmpeg 的滤镜命令是用于音视频处理中的强大工具,可以完成剪裁、缩放、加水印、调色、合成、旋转、模糊、叠加字幕等复杂的操作。其核心语法格式一般如下: ffmpeg -i input.mp4 -vf "滤镜参数" output.mp4或者带音频滤镜: ffmpeg…...

【配置 YOLOX 用于按目录分类的图片数据集】
现在的图标点选越来越多,如何一步解决,采用 YOLOX 目标检测模式则可以轻松解决 要在 YOLOX 中使用按目录分类的图片数据集(每个目录代表一个类别,目录下是该类别的所有图片),你需要进行以下配置步骤&#x…...

Redis数据倾斜问题解决
Redis 数据倾斜问题解析与解决方案 什么是 Redis 数据倾斜 Redis 数据倾斜指的是在 Redis 集群中,部分节点存储的数据量或访问量远高于其他节点,导致这些节点负载过高,影响整体性能。 数据倾斜的主要表现 部分节点内存使用率远高于其他节…...

mysql已经安装,但是通过rpm -q 没有找mysql相关的已安装包
文章目录 现象:mysql已经安装,但是通过rpm -q 没有找mysql相关的已安装包遇到 rpm 命令找不到已经安装的 MySQL 包时,可能是因为以下几个原因:1.MySQL 不是通过 RPM 包安装的2.RPM 数据库损坏3.使用了不同的包名或路径4.使用其他包…...
Pinocchio 库详解及其在足式机器人上的应用
Pinocchio 库详解及其在足式机器人上的应用 Pinocchio (Pinocchio is not only a nose) 是一个开源的 C 库,专门用于快速计算机器人模型的正向运动学、逆向运动学、雅可比矩阵、动力学和动力学导数。它主要关注效率和准确性,并提供了一个通用的框架&…...

让回归模型不再被异常值“带跑偏“,MSE和Cauchy损失函数在噪声数据环境下的实战对比
在机器学习的回归分析中,损失函数的选择对模型性能具有决定性影响。均方误差(MSE)作为经典的损失函数,在处理干净数据时表现优异,但在面对包含异常值的噪声数据时,其对大误差的二次惩罚机制往往导致模型参数…...

论文笔记——相干体技术在裂缝预测中的应用研究
目录 相关地震知识补充地震数据的认识地震几何属性 相干体算法定义基本原理第一代相干体技术:基于互相关的相干体技术(Correlation)第二代相干体技术:基于相似的相干体技术(Semblance)基于多道相似的相干体…...

初探Service服务发现机制
1.Service简介 Service是将运行在一组Pod上的应用程序发布为网络服务的抽象方法。 主要功能:服务发现和负载均衡。 Service类型的包括ClusterIP类型、NodePort类型、LoadBalancer类型、ExternalName类型 2.Endpoints简介 Endpoints是一种Kubernetes资源…...