当前位置: 首页 > news >正文

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图形界面(非常清晰)

Orcehstrator screenshot

另外的功能:

  • 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、 ”设置“ 中缺少”网络“选项 上图是设置界面&#xff0c…...

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商城的网页来获取商品详情信息。以下是两种常用方法的介…...

网络六边形受到攻击

大家读完觉得有帮助记得关注和点赞!!! 抽象 现代智能交通系统 (ITS) 的一个关键要求是能够以安全、可靠和匿名的方式从互联车辆和移动设备收集地理参考数据。Nexagon 协议建立在 IETF 定位器/ID 分离协议 (…...

7.4.分块查找

一.分块查找的算法思想: 1.实例: 以上述图片的顺序表为例, 该顺序表的数据元素从整体来看是乱序的,但如果把这些数据元素分成一块一块的小区间, 第一个区间[0,1]索引上的数据元素都是小于等于10的, 第二…...

利用ngx_stream_return_module构建简易 TCP/UDP 响应网关

一、模块概述 ngx_stream_return_module 提供了一个极简的指令&#xff1a; return <value>;在收到客户端连接后&#xff0c;立即将 <value> 写回并关闭连接。<value> 支持内嵌文本和内置变量&#xff08;如 $time_iso8601、$remote_addr 等&#xff09;&a…...

Python:操作 Excel 折叠

💖亲爱的技术爱好者们,热烈欢迎来到 Kant2048 的博客!我是 Thomas Kant,很开心能在CSDN上与你们相遇~💖 本博客的精华专栏: 【自动化测试】 【测试经验】 【人工智能】 【Python】 Python 操作 Excel 系列 读取单元格数据按行写入设置行高和列宽自动调整行高和列宽水平…...

FFmpeg 低延迟同屏方案

引言 在实时互动需求激增的当下&#xff0c;无论是在线教育中的师生同屏演示、远程办公的屏幕共享协作&#xff0c;还是游戏直播的画面实时传输&#xff0c;低延迟同屏已成为保障用户体验的核心指标。FFmpeg 作为一款功能强大的多媒体框架&#xff0c;凭借其灵活的编解码、数据…...

DIY|Mac 搭建 ESP-IDF 开发环境及编译小智 AI

前一阵子在百度 AI 开发者大会上&#xff0c;看到基于小智 AI DIY 玩具的演示&#xff0c;感觉有点意思&#xff0c;想着自己也来试试。 如果只是想烧录现成的固件&#xff0c;乐鑫官方除了提供了 Windows 版本的 Flash 下载工具 之外&#xff0c;还提供了基于网页版的 ESP LA…...

深入解析C++中的extern关键字:跨文件共享变量与函数的终极指南

&#x1f680; C extern 关键字深度解析&#xff1a;跨文件编程的终极指南 &#x1f4c5; 更新时间&#xff1a;2025年6月5日 &#x1f3f7;️ 标签&#xff1a;C | extern关键字 | 多文件编程 | 链接与声明 | 现代C 文章目录 前言&#x1f525;一、extern 是什么&#xff1f;&…...

浅谈不同二分算法的查找情况

二分算法原理比较简单&#xff0c;但是实际的算法模板却有很多&#xff0c;这一切都源于二分查找问题中的复杂情况和二分算法的边界处理&#xff0c;以下是博主对一些二分算法查找的情况分析。 需要说明的是&#xff0c;以下二分算法都是基于有序序列为升序有序的情况&#xf…...

保姆级教程:在无网络无显卡的Windows电脑的vscode本地部署deepseek

文章目录 1 前言2 部署流程2.1 准备工作2.2 Ollama2.2.1 使用有网络的电脑下载Ollama2.2.2 安装Ollama&#xff08;有网络的电脑&#xff09;2.2.3 安装Ollama&#xff08;无网络的电脑&#xff09;2.2.4 安装验证2.2.5 修改大模型安装位置2.2.6 下载Deepseek模型 2.3 将deepse…...

离线语音识别方案分析

随着人工智能技术的不断发展&#xff0c;语音识别技术也得到了广泛的应用&#xff0c;从智能家居到车载系统&#xff0c;语音识别正在改变我们与设备的交互方式。尤其是离线语音识别&#xff0c;由于其在没有网络连接的情况下仍然能提供稳定、准确的语音处理能力&#xff0c;广…...