zookeeper介绍 和 编译踩坑

news2025/2/24 21:26:48
zookeeper 分布式协调服务

ZooKeeper原理及介绍 - 鹿泉 - 博客园

Zookeeper是在分布式环境中应用非常广泛,它的优秀功能很多,比如分布式环境中全局命名服务,服务注册中心,全局分布式锁等等。 本项目使用其分布式服务配置中心,记录所有的服务器的ip和端口号。它是一个为分布式应用提供一致性协调服务的中间件,对微服务的 注册与发现过程 解除 客户端和服务提供者的紧耦合。

编译

zookeeper已经提供了原生的C/C++和Java API开发接口,需要通过源码编译生成。也就是会所linux下的C++开发,需要手动编译zookeeper的client,生成库文件。

新版本的zookeeper源码编译非常复杂,设计Java的ant/maven等。故编译老版本的3.4.10版本,文件附在文章末尾。

但新版本的C++编译器会对老版本的源码报错,故更改MakeFile文件的第548行,忽略报错。原文链接如下:Linux安装zookeeper原生C API接口出现的make编译错误_error: ‘%d’ directive writing between 1 and 5 byte-CSDN博客

进入解压目录的src/c下面,过程如下:

~/package/zookeeper-3.4.10/src/c$ sudo ./configure

~/package/zookeeper-3.4.10/src/c$ sudo make

~/package/zookeeper-3.4.10/src/c$ sudo make install
使用(假设zk为根目录)
  • 可以在zk/conf/zoo.conf配置文件中更改zk的数据存放目录,可以设置为zk/data目录
  • 默认工作端口2181
  • zk/bin/zkServer.sh start 启动服务
  • zk/bin/zkCli.sh使用客户端连接服务
  • zk客户端常用命令:ls使用绝对目录、get查看节点数据、create创建节点(父节点需存在)、set修改节点的值、delete删除节点(需无子节点)
zk的数据组织 - znode节点

  • zk的注册中心保存了能提供的服务的名称,以及URL
  • 首先这些服务会在注册中心进行注册,当客户端来查询的时候,只需要给出名称,注册中心就会给出一个URL。
  • 所有的客户端在访问服务前,都需要向这个注册中心进行询问,以获得最新的地址。
  • 注册中心可以是树形结构,每个服务下面有若干节点,每个节点表示服务的实例。
  • 注册中心和各个服务实例直接建立Session,要求实例们定期发送心跳,一旦特定时间收不到心跳,则认为实例挂了,删除该实例。
zk的watcher机制

一种事件回调机制,zkserver节点信息发生改变时,会调用zkclient的回调函数,保证能及时接收到服务节点信息。

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

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

相关文章

Qt 非圆角图片裁剪为圆角图片

将Qt非圆角图片裁剪为圆角图片,步骤如下: 1、按照原始图片尺寸定义一张透明的新图形 2、使用画家工具在新图形上绘制一个圆角矩形线路 3、绘制图片 4、使用圆角矩形切割图片边角 封装成函数如下: QPixmap Widget::getRoundedPixmap(const QPixmap srcPix…

注解 - @ControllerAdvice

注解简介 在今天的每日一注解中,我们将探讨ControllerAdvice注解。ControllerAdvice是Spring框架中的一个注解,用于集中处理应用程序中所有控制器的全局异常处理、数据绑定和数据预处理。 注解定义 ControllerAdvice注解用于定义一个全局的异常处理、数…

PyQt5学习系列之新项目创建并使用widget

PyQt5学习系列之新项目创建并使用widget 前言报错新建项目程序完整程序总结 前言 新建项目,再使用ui转py,无论怎么样都打不开py文件,直接报错。 报错 Connected to pydev debugger (build 233.11799.298)新建项目程序 # Press ShiftF10 to…

[C++][数据结构][二叉搜索树]详细讲解

目录 1.概念2.二叉搜索树操作1.查找2.插入3.删除 3.二叉搜索树的实现4.二叉搜索树的应用1.K模型2.KV模型 5.二叉搜索树的性能分析 1.概念 二叉搜索树又称二叉排序树,具有以下性质 若它的左子树不为空,则左子树上所有节点的值都小于根节点的值若它的右子…

深入剖析云原生服务与微服务框架中服务发现机制的核心原理与实现细节

深入剖析云原生服务与微服务框架中服务发现机制的核心原理与实现细节 本文介绍单体架构微服务架构微服务的方法建议微服务的通信机制P2P的调用通信API网关统一门面 微服务服务发现DNS服务发现基于一致性原则的key-value数据库服务发现与负载均衡紧密相关 微服务发展到容器化云原…

如何警用root用户登录ssh

使用tail指令,可以动态查看日志信息。 (tail -f /var/log/secure或messages) 使用>符号,可以清空日志内容,不删除文件本身。 禁用root用户为以下步骤: 首先使用useradd创建用户(可以修改为其…

PyTorch C++扩展用于AMD GPU

PyTorch C Extension on AMD GPU — ROCm Blogs 本文演示了如何使用PyTorch C扩展,并通过示例讨论了它相对于常规PyTorch模块的优势。实验在AMD GPU和ROCm 5.7.0软件上进行。有关支持的GPU和操作系统的更多信息,请参阅系统要求(Linux&#xf…

Vue页面内容未保存时离开页面做弹框提示

一、背景 目标:如果当前页面中有正在编辑中的内容,那么此时切换组件、跳转路由、关闭标签页、刷新页面,都会有离开确认提示,防止用户因误触导致填写的内容白费。 后台管理系统中有许多需要填写的表单,弹窗方式的表单一…

Docker安装Nginx(各种错误版)

Docker安装-CSDN博客 安装启动Docker之后 docker run -d -p 81:81 --name nginx nginx 这样没有指定版本 docker run:启动一个新的容器。-d:以分离模式运行容器(后台运行)。-p 81:81:将主机的 81 端口映射到容器的 …

“论面向对象的建模及应用”必过范文,突击2024软考高项论文

论文真题 软件系统建模是软件开发中的重要环节,通过构建软件系统模型可以帮助系统开发人员理解系统,抽取业务过程和管理系统的复杂性,也可以方便各类人员之间的交流。软件系统建模是在系统需求分析和系统实现之间架起的一座桥梁,…

傲星一个在线工具箱源码附搭建教程

傲星工具箱源码是一款功能强大的在线工具箱程序,您可以通过安装扩展来增强其功能。同时,该程序还提供了插件模板的功能,让您可以将其作为网页导航使用。 1.PHP版本需不低于7.2.5。 2.Mysql版本需不低于5.7。 3.需要安装fileinfo扩展。 4.…

第〇篇:深入Docker的世界系列博客介绍

欢迎来到“深入Docker的世界”系列博客,这是一次旨在全面探索Docker容器化技术的冒险之旅。从基础原理到高级应用,再到实践案例分析,我们将深入挖掘Docker的每一个角落,帮助你不仅掌握这项技术的实用知识,还能了解其在…

从0到1:手动测试迈向自动化——手机web应用的自动化测试工具

引言: 在当今移动互联网时代,手机web应用已经成为人们生活中不可或缺的一部分。为了保证手机web应用的质量和稳定性,自动化测试工具变得十分重要。本文将介绍手机web应用自动化测试工具的选择和使用,提供一份超详细且规范的指南&a…

2024年6月15日 十二生肖 今日运势

小运播报:2024年6月15日,星期六,农历五月初十 (甲辰年庚午月庚戌日),法定节假日。 红榜生肖:兔、马、虎 需要注意:牛、鸡、龙 喜神方位:西北方 财神方位:…

【国赛赛题详解】2024年数学建模国赛ABCDEF题(点个关注,后续会更新)

您的点赞收藏是我继续更新的最大动力! 一定要点击如下的蓝色字体链接,那是获取资料的入口! 点击链接加入群聊【2024国赛资料合集】:http://qm.qq.com/cgi-bin/qm/qr?_wv1027&keQt5WRIvc5-fogZRrrahAhbqDa2nKfW8&authKey%2BqQfThTx…

博瓦科技产品亮相湖北安博会啦!!!

6月12日,第二十三届2024中国(武汉)社会公共安全产品暨数字城市产业展览会(简称:湖北安博会)在武汉国际会展中心隆重开幕。作为行业内最具影响力的展会之一,此次盛会将汇聚来自全球的顶尖企业、专…

《TCP/IP网络编程》(第十五章)套接字和标准I/O

之前数据通信时,使用的是read&write函数以及其他各种I/O函数,本章将使用标准I/O函数,例如C语言的fopen、fgetc、fputs等等;C语言的cout、cin等等 1.使用标准I/O函数的优点 ①跨平台兼容性: 标准I/O函数通常是跨平…

简单了解CPU的工作原理

目录 一、基本结构以及对应功能 (1)基本结构 (2)几个重要寄存器的详细介绍 操作码 (Opcode) 操作数 (Operands) 指令表 (Instruction Table) 第一个:程序计数器 (PC) 第二个:指令寄存器 (IR&#x…

STM32学习笔记(三)--EXTI外部中断详解

(1)配置步骤1.配置RCC 打开外设时钟2.配置GPIO 选择端口输入模式3.配置AFIO 选择要用的一路GPIO 连接至EXTI 4.配置EXTI 选择边沿触发方式 上升沿 下降沿 双边沿 选择触发响应方式 中断响应 事件响应 5.配置NVIC 选择一个合适的优先…

Uni-App中的u-datetime-picker时间选择器Demo

目录 前言Demo 前言 对于网页端的推荐阅读:【ElementUI】详细分析DatePicker 日期选择器 事情起因是两个时间选择器同步了,本身是从后端慢慢步入全栈,对此将这个知识点从实战进行提炼 通过Demo进行总结 Demo 用于选择日期和时间的组件&a…