Orchestrator介绍一 简介安装与web端管理

news2024/9/20 20:31:38

目录

一 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.6

nohup ./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

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

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

相关文章

五、多表查询-3.2连接查询-外连接

一、语法 二、演示-左外连接 【例】查询emp1表的所有数据(17条),和对应的部门信息(左外连接) 【 左外连接和内连接区别】 内连接只能查到16条数据,dept_id为null的值查不到 左外连接可以查到17条所有数据…

screen

可以参考博客:https://blog.csdn.net/nima_zhang_b/article/details/82797928 Linux中的screen是一个命令行工具,可以让用户在同一个终端会话中创建多个虚拟终端。它非常有用,因为它允许用户在后台运行长时间的进程**,即使用户断…

2070. 每一个查询的最大美丽值;2416. 字符串的前缀分数和;2261. 含最多 K 个可整除元素的子数组

2070. 每一个查询的最大美丽值 核心思想:枚举优化(二分)。简单想法就是枚举每一次的查询,然后枚举出小于等于查询值在items中的最大美丽值,这种做法肯定超时了,那么如何进行优化,就是利用二分法…

管家婆往来分析功能介绍

往来分析是企业管理的重要工具之一,主要用于监控和查询与往来单位的业务往来情况,包括进货金额、付款金额、销售金额、回款情况、此前应收应付、应收应付余额、应收应付限额及其超限余额等。通过往来分析,企业可以更好地了解和控制与往来单位…

一名阿里服务端开发工程师的进阶之路

一名阿里服务端开发工程师的进阶之路 一、前言 目前,资讯、社交、游戏、消费、出行等丰富多彩的互联网应用已经渗透到了人们生活和工作的方方面面,正深刻改变着信息时代。随着用户规模的增长和应用复杂度的上升,服务端面临的技术挑战越来越严…

技术新浪潮:正在崛起的AI工程师

最近在latent.space上看到一篇关于AI工程师正在崛起的文章,引起了作者一些兴趣,经过进一步收集和整理了一些关于AI工程师的最新发展和资讯。作者梳理为本篇文章,希望能对大家有所帮助,共同探讨学习。 随着技术的日益发展&#xff…

韶音骨传导耳机可以水洗吗,韶音骨传导耳机好不好

现如今的韶音骨传导耳机已经将防水区分开了,而在市面上最主要的产品为韶音OpenRun Pro以及韶音OpenSwim,其中韶音OpenRun Pro的防水是只有IPX5级,原因是在发声单元的表层存在着开孔的网状设计,所以无法直接在水龙头下冲洗&#xf…

PointNet论文解读及代码详解

一、论文解读 PointNet是第一个直接以三维点云作为输入的深度学习网络,点云的特点如下: # 无序:无论点的顺序如何打乱,点云传达的内容不变。 # 组合表达:某个点需要结合附近的点才能表达局部信息,仅看单个…

通讯录(C语言)

通讯录 一、基本思路及功能介绍二、功能实现1.基础菜单的实现2.添加联系人信息功能实现3.显示联系人信息功能实现4.删除联系人信息功能实现5.查找联系人信息功能实现6.修改联系人信息功能实现7.排序联系人信息功能实现8.加载和保存联系人信息功能实现 三、源文件展示1.test.c2.…

使用WSL修改docker文件存储位置

按照以下说明将其重新定位到其他驱动器/目录,并保留所有现有的Docker数据。 首先,右键单击Docker Desktop图标关闭Docker桌面,然后选择退出Docker桌面,然后,打开命令提示符: wsl --list -v您应该能够看到&a…

三极管NPN、PNP的区别及简单应用

目录 一、NPN、PNP三极管的概念 二、NPN、PNP三极管的区别 三、三极管NPN、PNP的简单应用 一、NPN、PNP三极管的概念 NPN型三极管: 由两块N型半导体和一块P型半导体组成,P型半导体在中间,两块N型半导体在两侧。 三极管是电子电路中最重要的…

【数据结构】如何用栈实现队列?图文解析(LeetCode)

LeetCode链接:232. 用栈实现队列 - 力扣(LeetCode) 注:本文默认读者已掌握栈与队列的基本操作 可以看这篇文章熟悉知识点:【数据结构】栈与队列_字节连结的博客-CSDN博客 目录 做题思路 代码实现 1. MyQueue 2. …

windows10 docker 安装在D盘

win10安装docker后发现c盘空间急速减少,360管家查看发现images镜像安装在C盘,于是重装docker desktop以为在安装过程中能够选择,遗憾的是没有提供选择权限,默认直接就安装到了c盘。 desktop 迁移 百度得知可以将c盘的docker安装…

【Sublime Text 】Sublime Text 设置中文 超详细 持续更新中

Sublime Text 设置中文 超详细 持续更新中 概述开发环境一、Sublime Text 设置中文 概述 一个好的安装教程能够帮助开发者完成更便捷、更快速的开发。书山有路勤为径,学海无涯苦作舟。我是秋知叶i、期望每一个阅读了我的文章的开发者都能够有所成长。 开发环境 开…

微积分基本概念

微分 函数的微分是指对函数的局部变化的一种线性描述。微分可以近似地描述当函数自变量的取值作足够小的改变时,函数的值是怎样改变的。。对于函数 y f ( x ) y f(x) yf(x) 的微分记作: d y f ′ ( x ) d x d_y f^{}(x)d_x dy​f′(x)dx​ 微分和…

STTran: Spatial-Temporal Transformer for Dynamic Scene Graph Generation

文章目录 0 Abstract1 Introduction2 Related Work3 Method3.1 Transformer3.2 Relationship Representation3.3 Spatio-Temporal Transformer3.3.1 Spatial Encoder3.3.2 Frame Encoding3.3.3 Temporal Decoder 3.4 Loss Function3.5 Graph Generation Strategies 4 Experimen…

最新ChatGPT网站AI系统源码+详细图文搭建教程/支持GPT4/AI绘画/H5端/Prompt知识库

一、AI系统 如何搭建部署AI创作ChatGPT系统呢?小编这里写一个详细图文教程吧! SparkAi使用Nestjs和Vue3框架技术,持续集成AI能力到AIGC系统! 1.1 程序核心功能 程序已支持ChatGPT3.5/GPT-4提问、AI绘画、Midjourney绘画&#…

3.1、BGP的通告原则

BGP的通告原则 1、BGP通过network、.import-route、aggregate聚合方式生成BGP路由后,通过Update?报文将BGP路由传递给对等体。 2、BGP通告遵循以下原则: 只发布最优且有效路由。从EBGP对等体获取的路由,会发布给所有对等体。IBGP水平分割…

R语言画样本不均衡组的箱线图

# 导入 ggplot2 包 library(ggplot2)# 示例数据框&#xff0c;包含数值数据和分组信息 data <- data.frame(Group c(rep("Group A",10), rep("Group B",15),rep("Group C",20)),Value c(rnorm(10, mean 10, sd 2),rnorm(15, mean 15, sd…