ZooKeeper命令和监控详解

ZooKeeper监控命令详解

在分布式系统中,ZooKeeper作为一个非常重要的协调服务,它的健康状态直接影响到整个系统的可靠性和稳定性。因此,对ZooKeeper进行有效监控是非常必要的。本文将详细介绍ZooKeeper提供的命令行工具zkCli.sh,这些工具可以帮助我们监控和管理ZooKeeper服务器。

ZooKeeper简介

ZooKeeper是一个开源的分布式协调服务,它提供了一组简单的原语用于构建更高级的同步服务。ZooKeeper主要用于解决分布式系统中的一些关键问题,如数据一致性、系统配置管理、分布式锁等。

ZooKeeper监控的重要性

监控系统的性能和健康状况对于确保ZooKeeper的高可用性和可靠性至关重要。通过监控,我们可以及时发现潜在的问题并采取相应的措施。例如,我们可以监控ZooKeeper的连接数、会话数、磁盘使用情况等指标。

ZooKeeper操作命令

zkCli.sh 是 ZooKeeper 提供的命令行客户端工具,可用于连接 ZooKeeper 服务器并执行各种操作,包括监控和管理 ZooKeeper 数据树。以下是 zkCli.sh 中的一些常用操作命令:

连接到 ZooKeeper 服务器:

./zkCli.sh -server <server_host>:<server_port>

在这里插入图片描述

列出指定节点下的所有子节点:

ls -s /path

例如,列出根节点下的子节点:

ls /

在这里插入图片描述

查看节点数据:

get /path/to/node

在这里插入图片描述

查看节点状态:

stat /path/to/node

在这里插入图片描述

Zookeeper四个字母监控

ZooKeeper作为一种分布式协调服务,内置了一系列简短却实用的四字母命令,这些命令可通过TCP客户端连接ZooKeeper的服务端口(默认为2181)进行发送,从而实现对ZooKeeper服务器的基本监控与诊断。开发者们可以利用诸如telnet或nc(netcat)等工具与ZooKeeper进行交互,执行这些命令以获取服务器的关键状态信息。

以下列举了几种常见的四字母命令及其功能:

  • stat 命令:用于揭示ZooKeeper服务的基本状态参数,包括当前的连接数、活跃会话数、节点总量等重要数据。

  • ruok 命令:用于检测ZooKeeper服务是否处于正常的运行状态,若服务运转正常,ZooKeeper将返回字符串“imok”。

  • conf 命令:用于输出ZooKeeper服务器当前所应用的配置详情,帮助运维人员确认配置是否符合预期。

  • srvr 命令:提供更为详尽的服务器状态报告,涵盖了更多有关ZooKeeper服务器内部状态的细节信息。

  • wchs 命令:展示ZooKeeper中当前已注册Watcher的整体数量。

  • wchc 命令:列举出所有已被客户端观察的ZooKeeper节点及其对应的路径。

  • wchp 命令:展示每个被观察节点的路径与其关联的Watcher数量。

值得注意的是,默认情况下并非所有四字母命令都在ZooKeeper中启用,为了安全起见,管理员需在zoo.cfg配置文件中通过4lw.commands.whitelist配置项明确指定允许执行的四字母命令集合。例如:

4lw.commands.whitelist=stat,ruok,conf,srvr,wchs,wchc,wchp

AdminServer

ZooKeeper 从 3.5.0 版本起引入了一个名为 AdminServer 的内置 Jetty 服务器,该服务器提供了一个 HTTP 接口,用于执行四字命令。在默认配置下,此服务器会监听 8080 端口,并可通过访问 URL “/commands/[命令名]” 来执行相应命令,例如通过 http://localhost:8080/commands/stat 来获取服务器状态。这些命令的响应将以 JSON 格式返回。与原先仅接受四个字母的命令不同,新版本中的命令名称更加灵活,可以采用多个字符;例如,“STMK”也可以命名为“set_trace_mask”。若要查看所有可用命令的列表,只需在浏览器中访问 URL /commands(如 http://localhost:8080/commands)。
在这里插入图片描述
可用命令包括:

  • connection_stat_reset/crst:重置所有客户端连接统计信息。不返回新的字段。

  • configuration/conf/config:打印服务的基本配置信息,例如客户端端口和数据目录的绝对路径。

  • connections/cons:提供与服务器建立的客户端连接的相关信息。注意,如果客户端连接数量很大,执行此操作可能较为昂贵(即可能影响服务器性能)。返回一个包含连接信息对象的列表“connections”。

  • hash:事务摘要的历史记录列表中的摘要信息,每128个交易记录一个摘要。返回一个包含事务摘要对象的列表“digests”。

  • dirs:日志文件目录和快照目录的大小(以字节为单位)信息。返回“datadir_size”和"logdir_size"两个字段。

  • dump:会话过期和临时节点信息。注意,如果全局会话和临时节点数量较大,此操作可能影响服务器性能。返回映射“expiry_time_to_session_ids”和“session_id_to_ephemeral_paths”。

  • environment/env/envi:所有定义的环境变量。每个变量都作为单独的字段返回。

  • get_trace_mask/gtmk:当前的跟踪掩码。这是一个只读版本的set_trace_mask命令。有关更多信息,请参阅关于stmk四字命令的描述。返回字段“tracemask”。

  • initial_configuration/icfg:打印用于启动节点的配置文件文本。返回字段“initial_configuration”。

  • is_read_only/isro:指示服务器是否处于只读模式的布尔值。返回字段“read_only”。

  • last_snapshot/lsnp:提供关于ZooKeeper服务器最后一次成功保存到磁盘的快照的信息。如果在服务器启动和首次保存快照期间调用此命令,将返回启动服务器时读取的快照信息。返回字段“zxid”和“timestamp”,其中“timestamp”使用秒作为时间单位。

  • leader/lead:如果集群配置为仲裁模式,则显示当前节点的领导者状态和当前领导者的地理位置。返回字段“is_leader”、“leader_id”和“leader_ip”。

  • monitor/mntr:输出多种用于监控的有用信息,包括性能统计、内部队列信息以及数据树概览(以及其他诸多内容)。每个信息都作为单独的字段返回。

  • observer_connection_stat_reset/orst:重置所有观察者连接统计信息。与observers命令相辅相成,不返回新的字段。

  • restore/rest:从输入流中恢复数据库到当前服务器。响应负载中返回的字段:“last_zxid”(String)。注意:此API受到速率限制(默认每5分钟一次),以防止服务器过载。

  • ruok:空操作命令,检查服务器是否正在运行。响应的存在并不一定意味着服务器已加入仲裁,仅表示管理服务器已激活并绑定了指定的端口。不返回新的字段。

  • set_trace_mask/stmk:设置跟踪掩码(因此需要一个参数)。get_trace_mask命令的写入版本。有关更多信息,请参阅关于stmk四字命令的描述。返回字段“tracemask”。

  • server_stats/srvr:服务器信息。返回多个字段,提供服务器状态的简要概述。

  • snapshot/snap:在当前服务器的数据目录中拍摄快照,并通过流输出数据。可选查询参数:“streaming”:布尔值(如果未提供参数,则默认为true)。通过Http头部返回以下信息:“last_zxid”(String)和“snapshot_size”(String)。注意:此API受到速率限制(默认每5分钟一次),以防止服务器过载。

  • stats/stat:与server_stats相同,但也返回“connections”字段(有关详细信息,请参阅connections命令)。注意,如果客户端连接数量很大,此操作可能影响服务器性能。

  • stat_reset/srst:重置服务器统计信息。这是server_stats和stats返回信息的一个子集。不返回新的字段。

  • observers/obsr:提供与服务器建立的观察者连接的信息。在领导者节点上始终可用,在充当学习主节点的跟随者节点上也可用。返回字段“synced_observers”(整数)和“observers”(观察者属性的列表)。

  • system_properties/sysp:所有定义的系统属性。每个属性都作为单独的字段返回。

  • voting_view:提供当前参与投票的ensemble成员列表。返回字段“current_config”(一个映射)。

  • watches/wchc:按会话聚合的监视器信息。注意,如果监视器数量很多,此操作可能影响服务器性能。返回映射“session_id_to_watched_paths”。

  • watches_by_path/wchp:按路径聚合的监视器信息。注意,如果监视器数量很多,此操作可能影响服务器性能。返回映射“path_to_session_ids”。

  • watch_summary/wchs:汇总的监视器信息。返回字段“num_total_watches”、“num_paths”和“num_connections”。

  • zabstate:指示节点当前正在运行的Zab协议阶段以及它是否为投票成员。节点可能处于以下阶段之一:ELECTION、DISCOVERY、SYNCHRONIZATION、BROADCAST。返回字段“voting”和“zabstate”。

总结

通过以上介绍的ZooKeeper命令,我们可以方便地查看ZooKeeper服务器的各种信息,从而更好地监控和管理ZooKeeper。在实际使用中,我们可以根据需要选择适当的命令进行监控。同时,我们还可以通过编写脚本或使用第三方监控工具,定期执行这些命令并将结果发送到指定的邮箱或监控系统,以实现自动化监控。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/745812.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

vue2之过滤器

过滤器 过滤器的实现类似Django的过滤器。 代码 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>过…

Mysql---库表操作

文章目录 前言一、pandas是什么&#xff1f;二、使用步骤 1.引入库2.读入数据总结 一.Mysql数据库简介 MySQL是一种关系型数据库管理系统&#xff0c;是最流行的开源数据库之一。它是由瑞典MySQL AB公司开发的&#xff0c;后来被Sun Microsystems收购&#xff0c;之后又被Oracl…

企业架构设计方法与实践中的架构治理演进、架构评估方法、架构成熟度模型

企业架构设计方法与实践中的架构治理演进、架构评估方法、架构成熟度模型。 架构治理演进: 架构治理是指通过设立和执行一套政策和程序,来管理和控制一个组织的架构活动。架构治理演进是一个持续的过程,需要根据组织的实际情况进行定期审查和调整。 在演进过程中,重点需要…

1 redis7概述

Redis7 1 Redis简介 Redis之所以称之为字典服务&#xff0c; 是因为 Redis 是一个 key-value存储系统。 支持存储的 value类型很多&#xff0c; 包括 String(字符串)、List(链表)、Set(集合)、Zset(sorted set --有序集合)和 Hash&#xff08;哈希类型&#xff09;等。 Redis…

[java基础揉碎]多态数组

介绍: 多态数组就是有一个父类数组, 数组含有不同多个父类子类对象 解析: 新建一个person类, 有名字,年龄属性, 同时有个say方法 新建一个子类, 有一个成绩的属性,并重写了say方法, 加上了成绩 新建一个子类老师, 并有工资这个属性, 一样重写了say方法加上了这个属性 要求创…

根据服务器系统选择对应的MySQL版本

1. 根据服务器系统选择对应的MySQL版本 MySQL有多个版本&#xff0c;选择对应的版本&#xff0c;重点信息是Linux的GLIBC版本号&#xff0c;Linux的版本、系统位数。 1.1 查看Linux的GLIBC版本号 通常libc.so会支持多个版本&#xff0c;即向前兼容&#xff0c;查看该文件中…

LLM预备知识、工具篇——LLM+LangChain+web UI的架构解析

目录 【常见名词】一、LLM的低资源模型微调二、向量数据库1、Milvus(v2.1.4)&#xff1a;云原生自托管向量数据库&#xff08;Ubuntu下&#xff09;1&#xff09;安装&#xff08;Docker Compose方式&#xff09;&#xff1a;2&#xff09;管理工具&#xff08;仅支持Milvus 2.…

rank() over, dense_rank() over, row_number() over的区别

rank() over, dense_rank() over, row_number() over的区别 --ROW_NUMBER() OVER 不需要考虑并列&#xff0c;即使查询出来的数值相同也会进行连续排名 SELECT NAME, STUNO, SUBJECT, SCORE, ROW_NUMBER() OVER(PARTITION BY SUBJECT ORDER BY SCORE DESC) TO_RANK FROM SCOTT…

Learn OpenGL 03 着色器

GLSL 着色器的开头总是要声明版本&#xff0c;接着是输入和输出变量、uniform和main函数。每个着色器的入口点都是main函数&#xff0c;在这个函数中我们处理所有的输入变量&#xff0c;并将结果输出到输出变量中。 一个典型的着色器有下面的结构&#xff1a; #version vers…

O2OA(翱途)开发平台系统安全-用户登录IP限制

O2OA(翱途)开发平台[下称O2OA开发平台或者O2OA]支持对指定的用户设置可以连接的客户端计算机的IP地址&#xff0c;以避免用户在不安全的环境下访问系统。本篇主要介绍如何开启O2OA用户登录IP限制。 一、先决条件&#xff1a; 1、O2Server服务器正常运行&#xff0c;系统安装部…

PostgreSQL开发与实战(6.3)体系结构3

作者&#xff1a;太阳 四、物理结构 4.1 软件安装目录 bin //二进制可执行文件 include //头文件目录 lib //动态库文件 share //文档以及配置模版文件4.2 数据目录 4.2.1 参数文件 pg_hba.conf //认证配置文件 p…

C++ string详解+模拟实现

文章目录 写在前面1. string类的使用1.1 string类的构造1.2 string类的迭代器1.3 string类对象的容量操作1.4 string类对象的修改操作1.5 string类对象的非成员函数 2. string类的模拟实现2.1 模拟实现string类的默认成员函数2.2 模拟实现string类的迭代器2.3 模拟实现string类…

如何本地部署SeaFile文件共享服务并实现无公网IP访问内网本地文件

文章目录 1. 前言2. SeaFile云盘设置2.1 Owncould的安装环境设置2.2 SeaFile下载安装2.3 SeaFile的配置 3. cpolar内网穿透3.1 Cpolar下载安装3.2 Cpolar的注册3.3 Cpolar云端设置3.4 Cpolar本地设置 4.公网访问测试5.结语 1. 前言 现在我们身边的只能设备越来越多&#xff0c…

JavaWeb后端——分层解耦 IOC DI

分层/三层架构概述 三层架构&#xff1a;Controller、Service、Dao 解耦/IOC&DI概述 分层解耦 容器称为&#xff1a;IOC容器/Spring容器 IOC 容器中创建&#xff0c;管理的对象&#xff0c;称为&#xff1a;bean 对象 IOC&DI入门 实现 IOC&DI 需要的注解&#…

Python基于大数据的豆瓣电影分析,豆瓣电影可视化系统,附源码

博主介绍&#xff1a;✌程序员徐师兄、7年大厂程序员经历。全网粉丝12W、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专栏推荐订阅&#x1f447;…

大模型应用开发-大模型token等基本概念及参数和内存的关系

大模型相关目录 大模型&#xff0c;包括部署微调prompt/Agent应用开发、知识库增强、数据库增强、知识图谱增强、自然语言处理、多模态等大模型应用开发内容 从0起步&#xff0c;扬帆起航。 大模型应用向开发路径及一点个人思考大模型应用开发实用开源项目汇总大模型问答项目…

深度学习_20_卷积中的填充与步幅

如果图片本身比较小&#xff0c;卷积之后输出也会很小&#xff0c;那么可以在图片与卷积核相乘之前先填充一下&#xff0c;让输出为预期大小 一般填充后输入&#xff0c;输出相同 当图片比较大的时候&#xff0c;如果利用卷积核去得到我们想要的大小的话&#xff0c;得用到多层…

lab3090连接

淘宝安装包&#xff0c;镜像包放在了F盘&#xff0c;文件夹名为“torch” 远程连接服务器 服务器&#xff0c;192.168.7.194&#xff0c;端口1324&#xff0c;账号&#xff0c;llf&#xff0c;密码123456 进入容器&#xff1a; docker attach llf_pytorch 创建后端jupyte…

基础---nginx 启动不了,跟 Apache2 服务冲突

文章目录 查看 nginx 服务状态nginx 启动后 访问页面 127.0.0.1停止 nginx 服务&#xff0c;访问不了页面停止/启动 Apache2 服务&#xff0c;启动 Apache2 页面访问显示正确nginx 莫名启动不了卸载 Apache2 服务器 启动 nginx &#xff0c;但是总是不能实现反向代理&#xff0…

提升数据分析效率,选择IBM SPSS Statistics专业统计分析软件

在当今信息爆炸的时代&#xff0c;数据已经成为决策的重要依据。对于研究人员、学者、企业管理者等群体来说&#xff0c;如何高效地进行数据分析并得出准确结论至关重要。而IBM SPSS Statistics作为一款专业统计分析软件&#xff0c;为用户提供了强大的工具和功能&#xff0c;助…