Zookeeper之基于Docker搭建集群

简介

搭建ZK分布式模式,由2n+1台服务器组成。

搭建集群有两种方式:

  1. 单机多服务:
    1. 不同服务使用不同的配置文件,配置不同的端口号等。
    2. 使用同一个配置不同的server.id,即IP相同,但是端口不同。
  2. 多机多服务:各自配置zoo.cfg文件,互相加入各自的服务器列表。

节点概念

  • Loader 主节点:事务请求的唯一调度者和写操作的处理者(从节点的写操作需要转发给主节点,主节点决定编号、是否执行操作)。
  • Follower 从节点:处理非事务(读)请求;参与Loader选举的投票,比如Loader 节点挂了之后选举新的。
  • Observer 观察者节点:访问量大的时候,可以增减观察者角色,处理部分请求。观察者同步集群最新状态变化,处理非事务请求, 对于事务请求,则会转发给 Leader服务器进行处理。 观察者不参与任何形式的投票,只提供非事务服务,通常用于在不影响集群事务处理能力的前提下提升集群非事务处理能力。

搭建集群

准备

环境说明:
使用虚拟机启动三台ubunut18的主机,IP分别为192.168.204.175/176/177

修改host文件(一般位于C:\Windows\System32\drivers\etc

192.168.204.175 zk1
192.168.204.176 zk2
192.168.204.177 zk3

配置&启动

  • 拉取镜像docker pull zookeeper:3.8.1
  • 创建存储数据的目录data(自己命名)目录和myid文件,myid文件存储集群中此节点的唯一值。
mkdir zk_home
cd zk_home/
mkdir data
cd data
touch myid
# 集群内唯一ID
echo 1 >> myid
# zk2
# echo 2 >> myid
# zk3
# echo 3 >> myid
  • 创建一个存放配置文件的目录,然后再创建zoo.cfg文件
# 创建存放配置文件的目录
cd zk_home/
mkdir conf
cd zk_conf
touch zoo.cfg
  • 将配置写入zoo.cfg文件
# 启动成功的配置
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/data
clientPort=2181
# server后面的数字是集群节点的唯一ID
server.1=zk1:2888:3888;2181
server.2=zk2:2888:3888;2181
server.3=zk3:2888:3888;2181
  • 启动zookeeper容器。注意,不同的服务器--hostname不同。
docker run  --name zookeeper  --restart always -d \
-p 2888:2888 \
-p 3888:3888 \
-p 2181:2181 \
-v /home/liangshijie/zk_home/conf/zoo.cfg:/conf/zoo.cfg \
-v /home/liangshijie/zk_home/data:/data \
--hostname="zk1" \
zookeeper:3.8.1
  • 检查zk状态
# 分别进入zk1、zk2、zk3服务器,查看zk状态:
# 1.进入容器
docker exec -it <ID> bash
# 2.进入bin目录
cd /apache-zookeeper-3.8.1-bin/bin
# 3.运行命令查看状态
zkServer.sh status# 4.命令执行结果
ZooKeeper JMX enabled by default
Using config: /conf/zoo.cfg
Client port found: 2181. Client address: localhost. Client SSL: false.
Mode: leader
  • 测试,使用zkCli登录远程服务器,执行操作命令

image.png

# 登录zk3新增/app节点,并设置值
zkCli.cmd -server zk3:2181
create /app
set /app 11# 登录zk1节点,查看/app值
zkCli.cmd -server zk1:2181
get /app

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

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

相关文章

圆钢在线直线度测量仪的配置都有哪些?

圆钢产线有很多&#xff0c;并且很多都是需要对直线度尺寸进行检测的&#xff0c;这就是在线直线度测量仪的应用所在&#xff0c;在线检测远比人工检测能带给工厂更大的利益与效率。 在线直线度测量仪原理 直线度测量仪设置3台位置测量仪&#xff0c;每台位置测量仪内布置呈十字…

MySql篇——MySql使用常见问题及解决办法

这里汇总MySql使用常见问题及解决办法&#xff0c;会持续更新。 问题1.ERROR 1819 (HY000): Your password does not satisfy the current policy requirements。 含义&#xff1a;你设置的密码不符合当前的密码等级。 可使用 SHOW VARIABLES LIKE validate_password%; 查看…

C语言实例_stdlib.h库函数功能及其用法详解

一、前言 C语言作为一种高效、灵活的编程语言&#xff0c;标准库的使用对于开发人员来说是不可或缺的。其中&#xff0c;stdlib.h是C语言中一个重要的标准库头文件&#xff0c;提供了许多常用的函数和工具&#xff0c;以便开发人员能够更加便捷地进行内存管理、字符串处理、随…

NCNN环境部署及yolov5pt转ncnn模型转换推理

该内容还未完整&#xff0c;笔记内容&#xff0c;持续补充。 〇开发环境版本 vs2022 cmake3.21.1 ncnn20231027发行版 yolov5s v6.2 vunlkan1.2.198.1 Protobuf3.20.0 Opencv3.4.1 一、模型转换 yolov5s v6.2训练的pt模型&#xff0c;直接导出tourchscript&#xff0c…

开放式蓝牙耳机学生党适合买哪些?平价好用的开放式耳机推荐

对于学生党来说&#xff0c;想要买一款既平价又好用的开放式蓝牙耳机&#xff0c;确实需要仔细挑选&#xff0c;那啥是开放式耳机呢&#xff1f;简单来说&#xff0c;开放式耳机就是那种不把耳朵全部封闭起来的耳机&#xff0c;声音可以流通&#xff0c;听起来更自然、舒适&…

Conda:Python环境管理的瑞士军刀

在数据科学和机器学习的世界中&#xff0c;管理各种库和依赖关系的重要性不容忽视。Conda 就是为此而生的强大工具。本文将深入探讨 Conda 的简介、功能以及使用示例&#xff0c;帮助你更好地理解和使用这个工具。 Conda 简介 Conda 是一个开源的包管理系统和环境管理系统&am…

【Shell编程练习】通过位置变量创建 Linux 系统账户及密码

系列文章目录 输出Hello World 系列文章目录位置变量代码实现运行结果 位置变量 位置变量将以数字方式对变量进行命名&#xff0c;可将命令行参数的值存储到脚本中。要从命令行、函数或脚本执行等处传递参数时&#xff0c;就需要在 Shell 脚本中使用位置参数变量。下表为常用…

并发查询数据库并做汇总处理(多线程+CompletableFuture方式)

文章目录 1.需求说明2.准备工作3.线程池执行4.使用CompletableFuture 1.需求说明 我们想要通过更快的方式查询10w条user表数据内容&#xff0c;做数据的汇总&#xff0c;得到10w个用户的年龄分布。 此时很容易想到用多线程处理&#xff0c;但知易行难&#xff0c;还是动手来写…

rsync的介绍与使用

rsync的介绍与使用 一、简介 rsync&#xff08;remote synchronize&#xff09;是Liunx/Unix下的一个远程数据同步工具。它能够以非常高效的方式传输和同步文件&#xff0c;它可以将一个目录的文件快速地同步到另一个目录&#xff0c;还可以通过网络快速同步多台主机间的文件…

【VTK-Rendering::Core】第一期 vtkCoordinate坐标系统

很高兴在雪易的CSDN遇见你 VTK技术爱好者 QQ&#xff1a;870202403 前言 本文分享vtkCoordinate源码解析&#xff0c;并对VTK中的各种坐标变换进行分析&#xff0c;希望对各位小伙伴有所帮助&#xff01; 感谢各位小伙伴的点赞关注&#xff0c;小易会继续努力分享&#xff…

AIGC时代下,结合ChatGPT谈谈儿童教育

引言 都2024年了&#xff0c;谈到儿童教育&#xff0c;各位有什么新奇的想法嘛 我觉得第一要务&#xff0c;要注重习惯养成&#xff0c;我觉得聊习惯养成这件事情范围有点太大了&#xff0c;我想把习惯归纳于底层逻辑&#xff0c;我们大家都知道&#xff0c;在中国式教育下&a…

Glary Utilities Pro - 电脑系统优化全面指南:详尽使用教程

软件简介&#xff1a; Glary Utilities Pro 是一款全面的电脑优化工具&#xff0c;它旨在帮助用户提升计算机的性能和稳定性。这款软件提供了多种功能&#xff0c;包括系统清理、优化、修复以及保护。通过一键扫描&#xff0c;它可以识别并清除无用文件、临时数据、注册表错误等…

AIGC开发:调用openai的API接口

简介 开始进行最简单的使用&#xff1a;通过API调用openai的模型能力 OpenAI的能力如下图&#xff1a; 文本生成模型 OpenAI 的文本生成模型&#xff08;通常称为生成式预训练 Transformer 或大型语言模型&#xff09;经过训练可以理解自然语言、代码和图像。这些模型提供文…

这是蛰伏的第 1 年 —— 2023 年度总结

时间过得老快了&#xff0c;一下子就到 2023 年年底了&#xff0c;感觉自己好像什么都没做似的。 不过&#xff0c;又到了年终总结季了&#xff0c;正好跟大家唠唠嗑&#xff0c;我就想到啥说啥了。 工作淡如水 先聊聊工作的事情。回顾过去一年的工作&#xff0c;我最大的感…

微软CEO纳德拉当选2023年度CEO,AI大模型崛起成重要趋势;Mixtral 8x7B 真的击败了 GPT 3.5 Turbo 吗?

&#x1f989; AI新闻 &#x1f680; 微软CEO纳德拉当选2023年度CEO&#xff0c;AI大模型崛起成重要趋势 摘要&#xff1a;2023年被认为是AI大模型崛起之年&#xff0c;微软CEO纳德拉凭借对AI的投资和领导力当选2023年度CEO。纳德拉将AI技术融入微软的产品和服务中&#xff0…

【解决问题】pyinstaller打包python应用进行快速分发

pyinstaller打包python应用进行快速分发 问题起因先利其器再善其事试用运行 问题起因 有同学问我要接口的应用&#xff0c;于是试了一下python打包成exe的过程。 先利其器 主要使用pyinstaller&#xff0c;可以通过pip安装 pip install pyinstaller安装过程如图 再善其事…

微服务全链路灰度方案介绍

目录 一、单体架构下的服务发布 1.1 蓝绿发布 二、微服务架构下的服务发布 三、微服务场景下服务发布的问题 四、全链路灰度解决方案 4.1 物理环境隔离 4.2 逻辑环境隔离 4.3 全链路灰度方案实现技术 4.3.1 标签路由 4.3.2 节点打标 4.3.3 流量染色 4.3.4 分布式链路…

力扣题目学习笔记(OC + Swift)19. 删除链表的倒数第 N 个结点

19. 删除链表的倒数第 N 个结点 给你一个链表&#xff0c;删除链表的倒数第 n 个结点&#xff0c;并且返回链表的头结点。 此题目为链表题&#xff0c;拿出我们的杀手锏&#xff0c;链表解题经典三把斧&#xff1a; 哑巴节点栈快慢指针 关于内存问题&#xff1a;由于Swift及…

无论男孩女孩都要尽情打扮

这款柔软又细腻的开衫外套 上身体验感很不错的哈 舒适软糯百搭还透气&#xff0c;抗起球的面料 黑灰两色简单大方 胸前加上了流行的刺绣设计&#xff0c;可爱又精致 单穿内搭都可&#xff0c;现在天气还比较冷 外面可以套个羽绒服之类的 时尚叠穿风&#xff0c;韩系范儿…

Web自动化测试:Selenium入门到精通

前言 说到自动化测试&#xff0c;就不得不提大名鼎鼎的Selenium。Selenium 是如今最常用的自动化测试工具之一&#xff0c;支持快速开发自动化测试框架&#xff0c;且支持在多种浏览器上执行测试。 Selenium学习难度小&#xff0c;开发周期短。对测试人员来说&#xff0c;如果…