Zookeeper 数据迁移实战:基础环境搭建与高效迁移方案全览

文章目录

  • 一、Zookeeper数据迁移简介
  • 二、迁移zookeeper数据基础环境
  • 三、利用快照迁移zookeeper数据
    • 1、Node1最新的zk快照文件和日志文件
    • 2、将被迁移方node2的zookeeper的集群全部stop
    • 3、将源node1集群数据和日志拷贝到指定目录下
    • 4、验证优先启动拷贝的数据、日志的zookeeper节点,
  • 四、利用开源工具zkcopy进行在线同步数据
    • 1、下载官方开源工具
    • 2、同步数据方法

一、Zookeeper数据迁移简介

本次Zookeeper数据迁移的方案:
一是先将源集群中的快照、日志拷贝出到目标节点指定目录中,再将快照、日志文件迁移到目标集群节点的指定目录下。再启动目标节点的Zookeeper服务,该方案最好需要停止源集群的写操作,避免数据不一致。

二利用开源工具可以进行同步,如使用zkcopy开源工具进行在线同步,可以使两个Zookeeper或Zookeeper集群之间进行数据同步,但不能对Zookeeper的log日志进行同步。使用zkcopy的特点,是在不停服的情况下,可以进行数据同步,不用担心数据不一致问题,但改工具不能对日志进行拷贝。

二、迁移zookeeper数据基础环境

源节点Node1:XxX.XXX.XXX.214Docker-compose部署
3节点zookeeper伪集群
Centos7.9
目标
节点
Node2:XxX.XXX.XXX.215Docker-compose部署
3节点zookeeper伪集群
Centos7.9

三、利用快照迁移zookeeper数据

1、Node1最新的zk快照文件和日志文件

最好先停掉源集群中的zookeeper的进程,并将zookeeper中的最新的快照和日志拷贝到目标node2上,这样能保证数据的一致性。

#查看数据目录和日志目录路径
cat $HOME/conf/zoo.cfg | grep dataDir
ls -alh $HOME/zookeeper/version-2/
示例:
[root@bogon zk-3]# tree
.
├── conf
│   └── zoo.cfg
├── data
│   ├── myid
│   └── version-2
│       ├── acceptedEpoch
│       ├── currentEpoch
│       └── snapshot.0
└── datalog
    └── version-2
        └── log.100000001


#将最新的snapshot.0  log.100000001拷贝到目标主机node2某个位置。
Scp -r snapshot.0 log.100000001 root@XxX.XXX.XXX.215:/tmp

2、将被迁移方node2的zookeeper的集群全部stop

将node2的zookeeper的集群全部stop后,清空集群各个节点的数据和日志目录,

#清空数据目录、和日志目录
Rm -rf /data/zookeeper/version-2/*  
Rm -rf /dataLog/zookeeper/version-2/*

3、将源node1集群数据和日志拷贝到指定目录下

将拷贝过来的snapshot.0 log.100000001拷贝到某一个zookeeper的节点的目录下即可

#接数据、日志。拷贝相应目录下
Cp -a /tmp/snapshot.0   /data/zookeeper/version-2/
Cp -a /tmp/log.100000001 /dataLog/zookeeper/version-2/

4、验证优先启动拷贝的数据、日志的zookeeper节点,

如果是三节点,先恢复其中一台,然后等数据恢复完成后,再启动其他两个节点。
检查是否将源节点的数据目录是否成功拷贝到新节点上、还可以根据实际生产情况,验证。此处不是生产环节,只作查验操作演示如下:

#登录到zookeeper里后执行
./bin/zkCli.sh
#使用ls 查看
[zk: localhost:2181(CONNECTED) 0] ls /
[p_node1, zookeeper]
#使用get 查看
[zk: localhost:2181(CONNECTED) 1] get /p_node1/seq_0000000001
1

以上为通过对数据、日志的拷贝完成zookeeper数据的迁移,作为常规手段,操作方便,使用简单。

四、利用开源工具zkcopy进行在线同步数据

1、下载官方开源工具

下载官方开源工具,并进行build
git clone https://github.com/kshchepanovskyi/zkcopy.git
进入参zkcopy目录,执行
mvn clean install //没有maven环境先准备环境,官方推荐maven3

2、同步数据方法

docker pull ksprojects/zkcopy
docker run --rm -it ksprojects/zkcopy --source server:port/path --target server:port/path
#官方提供命令
java -jar target/zkcopy.jar --source server:port/path --target server:port/path
示例如下:
java -jar target/zkcopy.jar --source XxX.XXX.XXX.214:2181/p_node1 --target XxX.XXX.XXX.215:2181/p_node1
参考说明:
path为zookeeper的znode节点
如:[zk: localhost:2181(CONNECTED) 0] ls /
[p_node1, p_node2, zookeeper]

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Ubuntu 22.04虚拟机安装配置调整(语言输入法字体共享剪切板等等

2025.01.07安装配置Ubuntu 22.04 记一下 快捷键 截屏 在设置-键盘-快捷键查看 跟搜到的不一样…不过shiftprint感觉也够用 安装 用的是VMware 参考:VMware中安装配置Ubuntu(2024最新版 超详细) 调教(? 语言 改了…

vim练级攻略(精简版)

vim推荐配置: curl -sLf https://gitee.com/HGtz2222/VimForCpp/raw/master/install.sh -o ./install.sh && bash ./install.sh 0. 规定 Ctrl-λ 等价于 <C-λ> :command 等价于 :command <回车> n 等价于 数字 blank字符 等价于 空格&#xff0c;tab&am…

VSCode 的部署

一、VSCode部署 (1)、简介 vsCode 全称 Visual Studio Code&#xff0c;是微软出的一款轻量级代码编辑器&#xff0c;免费、开源而且功能强大。它支持几乎所有主流的程序语言的语法高亮、智能代码补全、自定义热键、括号匹配、代码片段、代码对比Diff、版本管理GIT等特性&…

Nginx在Linux中的最小化安装方式

1. 安装依赖 需要安装的东西&#xff1a; wget​&#xff0c;方便我们下载Nginx的包。如果是在Windows下载&#xff0c;然后使用SFTP上传到服务器中&#xff0c;那么可以不安装这个软件包。gcc g​&#xff0c;Nginx是使用C/C开发的服务器&#xff0c;等一下安装会用到其中的…

如何在vue中渲染markdown内容?

文章目录 引言什么是 markdown-it&#xff1f;安装 markdown-it基本用法样式失效&#xff1f;解决方法 高级配置语法高亮 效果展示 引言 在现代 Web 开发中&#xff0c;Markdown 作为一种轻量级的标记语言&#xff0c;广泛用于文档编写、内容管理以及富文本编辑器中。markdown…

Android 高版本如何获取App安装列表?

有个需求需要获取App内的安装列表,但是现在在高版本Android中,只能获取到一部分App效果,我获取的代码如下: val calendar Calendar.getInstance()val packageManager context.packageManagerval usageStatsManager context.getSystemService(Context.USAGE_STATS_SERVICE) …

第 5 场 算法季度赛

题目&#xff1a; 5.精准难度【算法赛】 - 蓝桥云课 问题描述 小蓝&#xff0c;蓝桥杯命题组的核心人物。今年的他出题灵感爆发&#xff0c;一口气出了 N 道题目&#xff0c;难度系数分别为 A1​,A2​,…,AN​。 只是&#xff0c;这些题目的难度参差不齐&#xff0c;让组委…

对话 TDengine 解决方案中心总经理陈肃:构建技术与市场的桥梁

TD 小T导读 他是大数据领域的杰出专家&#xff0c;拥有超过十项一作发明专利&#xff0c;是中国通信行业标准《大数据 消息中间件技术要求与测试方法》的重要编写者&#xff0c;并凭借数据中间件领域的突出成就荣获 2019 年“CJK OSS Award”。他是腾讯云 TVP 专家和 TGO 鲲鹏会…

rabbitmq安装延迟队列

在RabbitMQ中&#xff0c;延迟队列是一种特殊的队列类型。当消息被发送到此类队列后&#xff0c;不会立即投递给消费者&#xff0c;而是会等待预设的一段时间&#xff0c;待延迟期满后才进行投递。这种队列在多种场景下都极具价值&#xff0c;比如可用于处理需要在特定时间触发…

GitLab集成Jira

GitLab与Jira集成的两种方式 GitLab 提供了两种 Jira 集成&#xff0c;即Jira议题集成和Jira开发面板集成&#xff0c;可以配置一个或者两个都配置。 具体集成步骤可以参考官方文档Jira 议题集成&#xff08;极狐GitLab文档&#xff09;和Jira 开发面板集成&#xff08;极狐G…

【正则表达式】从0开始学习正则表达式

正则表达式&#xff08;英语&#xff1a;Regular Expression&#xff0c;在代码中常简写为regex、regexp或RE&#xff09; 一、推荐学习网站 正则表达式 – 语法 | 菜鸟教程 正则表达式30分钟入门教程 | 菜鸟教程 编程胶囊-打造学习编程的最好系统 二、必知必记 2.1 元字符…

【docker踩坑记录】

docker踩坑记录 踩坑记录(持续更新中.......)docker images 权限问题 踩坑记录(持续更新中…) docker images 权限问题 permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Head "http://%2Fvar%2Frun%2Fdocker.s…

HackMyVM-Klim靶机的测试报告

目录 一、测试环境 1、系统环境 2、使用工具/软件 二、测试目的 三、操作过程 1、信息搜集 2、Getshell 3、提权 CVE-2008-0166 四、结论 一、测试环境 1、系统环境 渗透机&#xff1a;kali2021.1(192.168.159.127) 靶 机&#xff1a;debian(192.168.159.27) 注意事…

Hexo + NexT + Github搭建个人博客

文章目录 一、 安装二、配置相关项NexT config更新主题主题样式本地实时预览常用命令 三、主题设置1.侧边栏2.页脚3.帖子发布字数统计 4.自定义自定义页面Hexo 的默认页面自定义 404 页自定义样式 5.杂项搜索服务 四、第三方插件NexT 自带插件评论系统阅读和访问人数统计 五、部…

CamemBERT:一款出色的法语语言模型

摘要 预训练语言模型在自然语言处理中已无处不在。尽管这些模型取得了成功&#xff0c;但大多数可用模型要么是在英语数据上训练的&#xff0c;要么是在多种语言数据拼接的基础上训练的。这使得这些模型在除英语以外的所有语言中的实际应用非常有限。本文探讨了为其他语言训练…

基于PyQt - 6的医疗多模态大模型医疗研究系统中的创新构建与应用(上 .文章部分)

一、引言 1.1 研究背景与意义 在当今数智化时代,医疗行业正经历着深刻的变革,对智能化、高效化的需求日益迫切。传统的医疗模式在面对海量的医疗数据、复杂的诊断流程以及个性化的治疗需求时,逐渐显露出局限性。随着人工智能技术的飞速发展,多模态大模型作为一种前沿技术…

(一)afsim第三方库编译

注意&#xff1a;防止奇怪的问题&#xff0c;源码编译的路径最好不要有中文&#xff0c;请先检查各文件夹名 AFSIM版本 Version&#xff1a; 2.9 Plugin API Version&#xff1a; 11 软件环境 操作系统&#xff1a; Kylin V10 SP1 项目构建工具: cmake-3.26.0-linux-aarch6…

【NextJS】PostgreSQL 遇上 Prisma ORM

NextJS 数据库 之 遇上Prisma ORM 前言一、环境要求二、概念介绍1、Prisma Schema Language&#xff08;PSL&#xff09; 结构描述语言1.1 概念1.2 组成1.2.1 Data Source 数据源1.2.2 Generators 生成器1.2.3 Data Model Definition 数据模型定义字段(数据)类型和约束关系&…

细说STM32F407单片机电源低功耗SleepMode模式及应用示例

目录 一、STM32F4的低功耗模式 1、睡眠(Sleep)模式 2、停止(Stop)模式 3、待机(Standby)模式 二、睡眠模式 1、进入睡眠模式 2、睡眠模式的状态 3、退出睡眠模式 4、SysTick的影响 三、应用示例 1、工程配置 &#xff08;1&#xff09; 时钟、DEBUG、GPIO、CodeGen…

YOLOv11改进,YOLOv11检测头融合RepConv卷积,并添加小目标检测层(四头检测),适合目标检测、分割等任务

摘要 作者提出了一种简单而强大的卷积神经网络架构,其推理阶段采用与 VGG 类似的网络体结构,仅由一堆 3x3 卷积和 ReLU 组成,而训练阶段的模型具有多分支拓扑。这种训练阶段和推理阶段架构的解耦通过结构重参数化技术实现,因此我们将该模型命名为 RepVGG。 # 理论介绍 Re…