Orchestrator介绍一 简介安装与web端管理
目录
一 Orchestrator简介
二 Orchestrator功能
1 Discovery(发现复制拓扑)
2 Refactoring(重构复制拓扑)
3 Recovery(恢复主库故障)
三 orchestrator支持的操作方式
四 部署要求
五 下载
六 安装
1 下载软件包
2 解压软件包
3 创建账号
第一种是 orc后端MySQL数据库账号
第二种是需要被管理的MySQL集群的账号
4 添加orc服务高可用
5 启动orc
6 访问web页面
7 添加被管理的集群
参考
一 Orchestrator简介
orchestrator不仅是一个 MySQL 高可用,更是一款MySQL集群的复制拓扑管理工具,作为服务运行并提供命令行访问、HTTP API 和 Web 界面。
二 Orchestrator功能
1 Discovery(发现复制拓扑)
Orc主动发现MySQL的复制拓扑并映射他们。它读取MySQL的基本信息比如复制状态与配置。
它为您提供了清晰的拓扑结构可视化,包括复制问题,甚至在出现故障时也是如此。
2 Refactoring(重构复制拓扑)
Orc理解复制规则,它明白关于binlog file的position, GTID, Pseudo GTID, Binlog Servers等信息。重构MySQL复制拓扑结构只需将副本拖放到另一个主副本下即可。移动副本是安全的:orchestrator将拒绝非法重构尝试。细粒度的控制是通过各种命令行选项实现的。
3 Recovery(恢复主库故障)
orchestrator使用整体方法??来检测主库和中间主库的故障。
根据从复制拓扑本身获得的信息,它可以识别各种故障场景。故障恢复方式可配置的,包含自动恢复 和 手动恢复。中间主库的恢复在Orc内部实现。主库故障恢复支持故障前后的钩子脚本。
恢复过程利用了orc对拓扑的理解及其执行重构的能力。它基于状态而不是配置:orchestrator通过在恢复本身时调查/评估拓扑来选择最佳恢复方法。
三 orchestrator支持的操作方式
命令行(调试信息,自动脚本)
Web APi (HTTP GET 访问)
Web图形界面(非常清晰)

另外的功能:
- orc服务本身高可用
- Controlled master takeovers
- 支持手动故障恢复
- 故障转移审计
- Pseudo-GTID
- 数据中心/物理位置感知
- HTTP 安全/身份验证方法
- 还有一个orchestrator-mysql Google groups论坛,用于讨论orchestrator相关的主题
四 部署要求
orchestrator是一个独立的应用程序。当配置为与MySQL后端一起运行时,需要安装 MySQL。当配置为与SQLite后端一起运行时,不需要进一步的依赖项。
orchestrator在 Linux 64 位和 Mac OS/X 上构建和测试。官方二进制文件仅适用于 Linux。
五 下载
orchestrator以开源方式发布,可在GitHub上获取。在https://github.com/openark/orchestrator/releases中查找官方版本
orchestrator软件包可以在 github/orchestrator - Packages · packagecloud找到
对于开发人员来说:orchestrator是可以得到的。问题:
请参阅面向开发人员的 Orchestrator
六 安装
1 下载软件包
通过tar包的方式安装 ,下载安装包,截止到写这篇博客 ,最新版本为 3.2.6
服务器为X86_64,没有找到X86_64的安装包,我查了下CPU架构,发现amd64兼容X86_64, 这里下载
orchestrator-3.2.6-linux-amd64.tar.gz 软件包即可。
wget https://github.com/openark/orchestrator/releases/download/v3.2.6/orchestrator-3.2.6-linux-amd64.tar.gz
2 解压软件包
tar -zxvf orchestrator-3.2.6-linux-amd64.tar.gz
解压安装包之后出现两个目录 ./usr/local/orchestrator/ 和 ./etc/systemd/system/
./usr/local/orchestrator/目录下文件

文件解释
orchestrator 二进制命令
orchestrator-sample.conf.json MySQL配置文件模板
orchestrator-sample-sqlite.conf.json sqllite数据库配置文件
resources rchestrator相关文件,client、web、pseudo-gtid等
./etc/systemd/system/目录下文件

mv orchestrator/ /usr/local/orchestrator-3.2.6
3 创建orc后台管理数据库
在部署orc的服务上部署三台单机的MySQL数据库,每个orc服务使用本地单机MySQL作为后端数据库。这里部署MySQL的过程不再赘述。
3 创建账号
需要创建2种账号
第一种是 orc后端MySQL数据库账号
CREATE DATABASE IF NOT EXISTS orchestrator;
CREATE USER 'orchestrator_admin'@'10.79.23.%' IDENTIFIED BY '';
GRANT ALL PRIVILEGES ON `orchestrator`.* TO 'orchestrator_admin'@'10.79.23.%';
第二种是需要被管理的MySQL集群的账号
为了发现被管理的数据库的拓扑结构, 每个MySQL集群需要创建相同的账号 ,相同的密码 。所以在每个集群的主库上执行一下创建账号的命令:
CREATE USER 'orchestrator'@'10.79.23.%' IDENTIFIED BY 'orc123';
GRANT SUPER, PROCESS, REPLICATION SLAVE, RELOAD ON *.* TO 'orchestrator'@'10.79.23.%';
GRANT SELECT ON mysql.slave_master_info TO 'orchestrator'@'10.79.23.%';
以上权限解释
在MySQL5.6及其以上
REPLICATION SLAVE权限是需要执行 SHOW SLAVE HOSTS 命令,以及扫描二进制日志来支持Pseduo GTID ;
RELOAD权限是需要执行RESET SLAVE操作需要;
PROCESS 权限是需要执行 SHOW PROCESSLIST命令来查看副本的连接信息;
如果设置了master_info_repository = 'TABLE',还需要授予orc访问mysql.slave_master_info表的权限,
4 添加orc服务高可用
需要在配置文件中添加如下配置
"RaftEnabled": true,"RaftDataDir": "/usr/local/orchestrator-3.2.6/raft","RaftBind": "10.79.23.45","DefaultRaftPort": 10008,"RaftNodes": ["10.79.23.45","10.79.23.46","10.79.23.47"]
4 整体的配置文件以及解释
5 启动orc
官方建议安装到目录 /usr/local/orchestrator 下 ,如果空间不够 ,可以做软连接。
orc 启动的时候会监听端口 3000,可以浏览器访问 http://your.host:3000/ 地址进入控制台。
如果是debug 模式 可以
cd /usr/local/orchestrator && ./orchestrator --debug http
刚详细的细节或错误 可以 用下面的方式
cd /usr/local/orchestrator && ./orchestrator --debug --stack http
通过配置文件启动
cd /usr/local/orchestrator && ./orchestrator --debug --config=/path/to/config.file http
不在更新实例的状态 可以使用下面的方式启动
cd /usr/local/orchestrator && ./orchestrator --discovery=false http
我这里通过配置文件启动
cd /usr/local/orchestrator-3.2.6nohup ./orchestrator --debug -config orchestrator-sample.conf.json http &
6 访问web页面
http://10.79.23.45:3000/
可以看到后端数据库与现在orc的raft关系

7 添加被管理的集群

图标解释

标号1代表一些对拓扑结构中的警告或者失败
标号2的图标 是 Color by Data Center/ Disable colors。点亮后拓扑图中实例上就会根据数据中心显示颜色
标号3的图标是 Enable/Disable compact display . 点亮从库就会聚合精简展示,如下

标号4 Enable/Disable pool indication 字面意思是开启/关闭池指示
标号5 Anonymize display/Cancel Anonymize 匿名显示/取消匿名显示 不会显示集群名 数据中心等信息
标号6 instance alias display /Cancel alias 显示实例别名/不显示实例别名
标号7 Slience UI Question/ Cancel UI slience
拓扑界面展示

两个箭头 Log replications updates 复制日志更新,应该是对应参数
笔 Writeable : read_only 参数设置为OFF 会显示这个图标,从库一般设置为ON,不会显示
齿轮 : Open config dialog 设置界面
另外还有一些信息是 实例别名 ,数据库版本 ,binlog格式binlog_format和 binlog_row_image这两个参数,复制延迟,数据角色等
主库的设置管理界面

从库设置管理界面
从库会多一些信息 如下

可操作的按钮
Detach replica 分离该从副本,会将给实例断开主从连接 ,观察现象是在主库实例名前加了// 所以连接不上。

四种模式区别

Smart mode
Classic mode
GTID mode
Pseundo GTID mode
参考
官方地址 GitHub - openark/orchestrator: MySQL replication topology management and HA
orc 文档
ohttps://github.com/openark/orchestrator/tree/master/docs
相关文章:
Orchestrator介绍一 简介安装与web端管理
目录 一 Orchestrator简介 二 Orchestrator功能 1 Discovery(发现复制拓扑) 2 Refactoring(重构复制拓扑) 3 Recovery(恢复主库故障) 三 orchestrator支持的操作方式 四 部署要求 五 下载 六 安装 1 下载软件包 2 解压软件包 3 创建账号 第一种是 orc后端MySQL数据…...
【C++心愿便利店】No.3---内联函数、auto、范围for、nullptr
文章目录 前言🌟一、内联函数🌏1.1.面试题🌏1.2.内联函数概念🌏1.3.内联函数特性 🌟二、auto关键字🌏2.1.类型别名思考🌏2.2.auto简介🌏2.3.auto的使用细节🌏2.4.auto不能…...
CV:边缘检测的算法包含 Prewitt、Sobel、Laplacian 和 Canny。
目录 1. 边缘检测(Prewitt) 2. 边缘检测(Sobel) 3. 边缘检测(Laplacian) 3. 边缘检测(Canny) 边缘检测的算法包含 Prewitt、Sobel、Laplacian 和 Canny。 人在图像识别上具有难…...
【算法系列篇】前缀和
文章目录 前言什么是前缀和算法1.【模板】前缀和1.1 题目要求1.2 做题思路1.3 Java代码实现 2. 【模板】二维前缀和2.1 题目要求2.2 做题思路2.3 Java代码实现 3. 寻找数组的中心下标3.1 题目要求3.2 做题思路3.3 Java代码实现 4. 除自身以外的数组的乘积4.1 题目要求4.2 做题思…...
若依移动端Ruoyi-App 项目的后端项目入门
后端项目运行 运行报错 Error creating bean with name sysConfigServiceImpl: Invocation of init method failed 数据库创建了。 代码连接数据库地方了也匹配上了。但是还是报错。 分析 : 想起来我电脑从来没有安装过redis 下载安装redis到windows 链接&…...
(学习笔记-调度算法)内存页面置换算法
在了解内存页面置换算法前,我们得先了解 缺页异常(缺页中断)。 当 CPU 访问的页面不在物理内存中时,便会产生一个缺页中断,请求操作系统将缺页调入到物理内存。那它与一般的中断主要区别在于: 缺页中断在指令执行 [期…...
行为型模式-观察者模式
1.观察者设计模式* 定义:当对象间存在一对多关系时,则使用观察者模式(Observer Pattern)。比如,当一个对象被修改时,则会自动通知依赖它的对象。观察者模式属于行为型模式。 意图:定义对象间的…...
前端面试:【新技术与趋势】WebAssembly、Serverless、GraphQL
在不断演进的技术领域中,WebAssembly、Serverless和GraphQL都是备受关注的新技术和趋势。它们改变了软件开发、部署和数据传输的方式,为开发者提供了更多的选择和灵活性。 1. WebAssembly(Wasm): 简介: Web…...
【ubuntu】 20.04 网络连接器图标不显示、有线未托管、设置界面中没有“网络”选项等问题解决方案
问题 在工作中 Ubuntu 20.04 桌面版因挂机或不当操作,意外导致如下问题 1、 Ubuntu 网络连接图标消失 2、 有线未托管 上图中展示的是 有线 已连接 ,故障的显示 有限 未托管 或其他字符 3、 ”设置“ 中缺少”网络“选项 上图是设置界面,…...
SpringCloud/SpringBoot多模块项目中配置公共AOP模块实现打印子模块Controller所有请求参数与日志
项目中遇到多个模块需要打印Controller请求日志,在每个模块里面加AOP并且配置单独的切面笔者认为代码冗余,于是乎就打算把AOP日志打印抽离成一个公共模块,谁想用就引入Maven坐标就行。 定义公共AOP模块 并编写AOP工具 AOP模块pom.xml如下 &…...
【GeoDa实用技巧100例】022:geoda生成空间权重矩阵(邻接矩阵、距离矩阵)
geoda生成空间权重矩阵(邻接矩阵、距离矩阵),车式矩阵、后式矩阵、K邻接矩阵。 文章目录 一、概述二、“车式”邻接的gal文档生成三、“后式”邻接gal文档生成四、k最近邻居gat文档生成五、查看gal和gat文档一、概述 空间权重矩阵(或相应的表格形式)一般需要用计算机软件生…...
基于web的鲜花商城系统java jsp网上购物超市mysql源代码
本项目为前几天收费帮学妹做的一个项目,Java EE JSP项目,在工作环境中基本使用不到,但是很多学校把这个当作编程入门的项目来做,故分享出本项目供初学者参考。 一、项目描述 基于web的鲜花商城系统 系统有2权限:前台…...
意外发现Cortex-M内核带的64bit时间戳,比32bit的DWT时钟周期计数器更方便,再也不用担心溢出问题了
视频: https://www.bilibili.com/video/BV1Bw411D7F5 意外发现Cortex-M内核带的64bit时间戳,比32bit的DWT时钟周期计数器更方便,再也不用担心溢出问题了 介绍: 看参数手册的Debug章节,System ROM Table里面带Timestam…...
数据结构与算法细节篇之最短路径问题:Dijkstra和Floyd算法详细描述,java语言实现。
文章目录 前言一、单源最短路径1、单源最短路径问题2、Dijkstra 初始化a、参数b、初始化参数c、算法步骤 3、Dijkstra 算法详细步骤a、第一轮算法执行b、第二轮算法执行c、第三轮算法执行d、第四轮算法执行e、第五轮算法执行f、第六轮算法执行 4、java算法实现 二、多源最短路径…...
改进YOLO系列:6.添加ECA注意力机制
添加ECA注意力机制 1. ECA注意力机制论文2. ECA注意力机制原理3. ECA注意力机制的配置3.1common.py配置3.2yolo.py配置3.3yaml文件配置1. ECA注意力机制论文 论文题目:ECA-Net: Efficient Channel Attention for Deep Convolutional Neural Networks 论文链接:ECA-N…...
软件测试知识点总结(一)
文章目录 前言一. 什么是软件测试二. 软件测试和软件调试的区别三. 软件测试和研发的区别四. 优秀的测试人员所应该具备的素质总结 前言 在现实生活中的很多场景下,我们都会进行测试。 比如买件衣服,我们需要看衣服是不是穿着好看,衣服材质如…...
持续集成与持续交付:现代软件测试的变革之路
引言 在数字化时代,软件开发的速度和复杂性都在不断增加。为了满足市场的需求,企业需要更快、更高效地交付高质量的软件产品。在这样的背景下,持续集成与持续交付(CI/CD)成为了软件开发和测试的核心实践。 软件开发的…...
深度学习基本理论下篇:(梯度下降/卷积/池化/归一化/AlexNet/归一化/Dropout/卷积核)、深度学习面试
深度学习基本理论上篇:(MLP/激活函数/softmax/损失函数/梯度/梯度下降/学习率/反向传播) 深度学习基本理论上篇:(MLP/激活函数/softmax/损失函数/梯度/梯度下降/学习率/反向传播)、深度学习面试_会害羞的杨…...
[Ubuntu 20.04] 通过udev规则修改网卡名称(例如eth0)
在 Ubuntu 20.04 操作系统中,默认情况下,网卡接口名称采用了一种较为复杂的命名方式(如 enp0s3、eth0 等)。然而,有时候我们可能更希望使用更简洁和易于识别的名称来标识不同的网络接口。那么如何在 Ubuntu 20.04 中修改网卡接口的名称,以满足个性化需求。 步骤一:查看当…...
Java“牵手”根据关键词搜索(分类搜索)lazada商品列表页面数据获取方法,lazadaAPI实现批量商品数据抓取示例
lazada商城是一个网上购物平台,售卖各类商品,包括服装、鞋类、家居用品、美妆产品、电子产品等。要获取lazada商品列表和商品详情页面数据,您可以通过开放平台的接口或者直接访问lazada商城的网页来获取商品详情信息。以下是两种常用方法的介…...
LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器的上位机配置操作说明
LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器专为工业环境精心打造,完美适配AGV和无人叉车。同时,集成以太网与语音合成技术,为各类高级系统(如MES、调度系统、库位管理、立库等)提供高效便捷的语音交互体验。 L…...
C++_核心编程_多态案例二-制作饮品
#include <iostream> #include <string> using namespace std;/*制作饮品的大致流程为:煮水 - 冲泡 - 倒入杯中 - 加入辅料 利用多态技术实现本案例,提供抽象制作饮品基类,提供子类制作咖啡和茶叶*//*基类*/ class AbstractDr…...
(二)原型模式
原型的功能是将一个已经存在的对象作为源目标,其余对象都是通过这个源目标创建。发挥复制的作用就是原型模式的核心思想。 一、源型模式的定义 原型模式是指第二次创建对象可以通过复制已经存在的原型对象来实现,忽略对象创建过程中的其它细节。 📌 核心特点: 避免重复初…...
cf2117E
原题链接:https://codeforces.com/contest/2117/problem/E 题目背景: 给定两个数组a,b,可以执行多次以下操作:选择 i (1 < i < n - 1),并设置 或,也可以在执行上述操作前执行一次删除任意 和 。求…...
高等数学(下)题型笔记(八)空间解析几何与向量代数
目录 0 前言 1 向量的点乘 1.1 基本公式 1.2 例题 2 向量的叉乘 2.1 基础知识 2.2 例题 3 空间平面方程 3.1 基础知识 3.2 例题 4 空间直线方程 4.1 基础知识 4.2 例题 5 旋转曲面及其方程 5.1 基础知识 5.2 例题 6 空间曲面的法线与切平面 6.1 基础知识 6.2…...
解决本地部署 SmolVLM2 大语言模型运行 flash-attn 报错
出现的问题 安装 flash-attn 会一直卡在 build 那一步或者运行报错 解决办法 是因为你安装的 flash-attn 版本没有对应上,所以报错,到 https://github.com/Dao-AILab/flash-attention/releases 下载对应版本,cu、torch、cp 的版本一定要对…...
实现弹窗随键盘上移居中
实现弹窗随键盘上移的核心思路 在Android中,可以通过监听键盘的显示和隐藏事件,动态调整弹窗的位置。关键点在于获取键盘高度,并计算剩余屏幕空间以重新定位弹窗。 // 在Activity或Fragment中设置键盘监听 val rootView findViewById<V…...
【碎碎念】宝可梦 Mesh GO : 基于MESH网络的口袋妖怪 宝可梦GO游戏自组网系统
目录 游戏说明《宝可梦 Mesh GO》 —— 局域宝可梦探索Pokmon GO 类游戏核心理念应用场景Mesh 特性 宝可梦玩法融合设计游戏构想要素1. 地图探索(基于物理空间 广播范围)2. 野生宝可梦生成与广播3. 对战系统4. 道具与通信5. 延伸玩法 安全性设计 技术选…...
LINUX 69 FTP 客服管理系统 man 5 /etc/vsftpd/vsftpd.conf
FTP 客服管理系统 实现kefu123登录,不允许匿名访问,kefu只能访问/data/kefu目录,不能查看其他目录 创建账号密码 useradd kefu echo 123|passwd -stdin kefu [rootcode caozx26420]# echo 123|passwd --stdin kefu 更改用户 kefu 的密码…...
DingDing机器人群消息推送
文章目录 1 新建机器人2 API文档说明3 代码编写 1 新建机器人 点击群设置 下滑到群管理的机器人,点击进入 添加机器人 选择自定义Webhook服务 点击添加 设置安全设置,详见说明文档 成功后,记录Webhook 2 API文档说明 点击设置说明 查看自…...
