首页 > 其他分享 >orchestrator系列(一)--简介及安装

orchestrator系列(一)--简介及安装

时间:2023-08-10 22:24:54浏览次数:48  
标签:orchestrator -- 简介 拓扑 client user MySQL orc

orchestrator是一款开源对MySQL复制提供高可用、拓扑的可视化管理工具,采用go语言编写,它能够主动发现当前拓扑结构和主从复制状态,支持MySQL主从复制拓扑关系的调整、支持MySQL主库故障自动切换(failover)、手动主从切换(switchover)等功能。

orchestrator后台依赖于MySQL存储元数据,能够提供Web界面展示MySQL集群的拓扑关系及实例状态,可以通过Web界面可更改MySQL实例的部分配置信息,同时也提供命令行和api接口,以便更加灵活的自动化运维管理。

相比于MHA,Orchestrator更加偏重于复制拓扑关系的管理,能够实现MySQL任一复制拓扑关系的调整,并在此基础上,实现MySQL高可用。

Orchestrator本身也可以部署多个节点,通过raft分布式一致性协议,保证其自身高可用性。

Orchestrator特性如下:

  1. 发现(discover)orchestrator主动搜寻MySQL拓扑并进行映射。它能读取基本的MySQL信息,例如复制状态和配置。即使遇到故障,也可以为MySQL环境的拓扑提供流畅的可视化效果,包括复制问题。
  2. 重构(Refactoring)orchestrator了解复制规则。它知道binlog文件:位置,GTID,伪GTID,Binlog服务器。重构复制拓扑可以是将副本拖放到另一个主副本下的问题。移动副本是安全的:orchestrator将拒绝非法的重构尝试。通过各种命令行选项可以实现细粒度的控制。
  3. 恢复(recover)orchestrator使用全面方法来检测主库故障和级联中间主库的故障。根据从拓扑本身获得的信息,它可以识别各种故障情况。可通过配置,orchestrator可以选择执行自动恢复(或允许用户选择手动恢复的类型)。在内部实现中间主库的恢复。orchestrator通过Hooks进行自定义脚本支持故障切换。

安装orchestrator(二进制方式,单点)

1 安装元数据库(略)并创建账户

CREATE DATABASE IF NOT EXISTS orchestrator;
CREATE USER 'orc_server_user'@'%' IDENTIFIED BY 'orc_server_password';
GRANT ALL PRIVILEGES ON `orchestrator`.* TO 'orc_server_user'@'%';

2 下载安装包并解压

wget https://github.com/openark/orchestrator/releases/download/v3.2.6/orchestrator-3.2.6-linux-amd64.tar.gz
tar -xvf orchestrator-3.2.6-linux-amd64.tar.gz -C /data/orchestrator_soft/

3 修改配置文件

cd /data/orchestrator_soft/usr/local/orchestrator
cp orchestrator-sample.conf.json orchestrator.conf.json
确认配置文件orchestrator.conf.json中的以下内容与元数据库配置相同
######################################
  "MySQLOrchestratorHost": "127.0.0.1",
  "MySQLOrchestratorPort": 3306,
  "MySQLOrchestratorDatabase": "orchestrator",
  "MySQLOrchestratorUser": "orc_server_user",
  "MySQLOrchestratorPassword": "orc_server_password"
########################################

4 启动

nohup ./orchestrator --config=/data/orchestrator_soft/usr/local/orchestrator/orchestrator.conf.json http &

5 在被纳管实例创建用户

方式一:创建用户在配置文件中配置

CREATE USER 'orchestrator'@'orc_host' IDENTIFIED BY 'orc_topology_password';
GRANT SUPER, PROCESS, REPLICATION SLAVE, REPLICATION CLIENT, RELOAD ON *.* TO 'orchestrator'@'orc_host';
GRANT SELECT ON meta.* TO 'orchestrator'@'orc_host';
GRANT SELECT ON ndbinfo.processes TO 'orchestrator'@'orc_host'; -- Only for NDB Cluster
GRANT SELECT ON performance_schema.replication_group_members TO 'orchestrator'@'orc_host'; -- Only for Group Replication / InnoDB cluster
本测试案例
create user 'orc_client_user'@'%' identified by 'orc_client_password';
GRANT SUPER, PROCESS, REPLICATION SLAVE, REPLICATION CLIENT, RELOAD ON *.* TO 'orc_client_user'@'%';
GRANT SELECT ON orchestrator.* TO 'orc_client_user'@'%';
配置文件修改如下两处:
"MySQLTopologyUser": "orc_client_user",
"MySQLTopologyPassword": "orc_client_password",

方法二:配置文件

{
  "MySQLTopologyCredentialsConfigFile": "/etc/mysql/orchestrator-topology.cnf",
  "InstancePollSeconds": 5,
  "DiscoverByShowSlaveHosts": false,
}

cat /etc/mysql/orchestrator-topology.cnf
#######################################
[client]
user=orchestrator
password=orc_topology_password
#######################################

6 发现元数据实例 -- 必须要有被纳管用户(包括元数据库)

orchestrator-client 在/data/orchestrator_soft/usr/local/orchestrator/resources/bin目录下

方法一:界面(如下图)

方法二:命令行

./orchestrator-client -c discover -i VM-16-10-centos:3306
./orchestrator-client -c discover -i 10.206.16.10:3306

7 纳管(discover)一主一从实例

1 新建主从(略)
2 在主库新建纳管理账户--参考第5步
3 纳管(discover)

./orchestrator-client -c discover -i 10.206.16.5:3306 (任意库ip+端口即可)

8 显示被纳管的集群

./orchestrator-client -c all-instances

web界面

欢迎关注公众号:DBA札记,一起交流数据库技术。后台回复“交流群”可添加技术交流群。欢迎觉得读完本文有收获,可以转发给其他朋友,大家一起学习进步!

本文由mdnice多平台发布

标签:orchestrator,--,简介,拓扑,client,user,MySQL,orc
From: https://www.cnblogs.com/kaluolazhiye/p/17621731.html

相关文章

  • 关于3D-AIGC的调研与探讨
    0、前言本文是自己最近在项目上的需要做的一些调研和自己的一些看法,以分享为主。2DAIGC(文生文、文生图、图生图)在今天大放异彩,产生了许多惊艳的效果,如ChatGPT系列、Imagen、DALLE2、StableDiffusion等,那我们自然会想到,如果延申到三维呢,如果能跳过Maya/Max/Blender/UE这些建模......
  • redis持久化
    redis持久化RDB过程:redis使用fork函数复制一份当前进程(父进程)的副本(子进程)父进程继续接受并处理客户端发来的命令,而子进程开始将内存中的数据写入硬盘中的临时文件当子进程写完所有数据后会用该临时文件替换旧的RDB文件,至此一次快照操作完成在执行fork的时候操作系统会......
  • opencv-python 视频前后景分离
    背景分离(BS)是一种通过使用静态相机来生成前景掩码(即包含属于场景中的移动对象像素的二进制图像)的常用技术。BS计算前景掩码,在当前帧与背景模型之间执行减法运算,其中包含场景的静态部分,或者更一般而言,考虑到所观察场景的特征,可以将其视为背景的所有内容。前后景分离分为两步:第一步......
  • centos 安装下载mongodb数据库
    mongodb下载安装官网:https://www.mongodb.com/try/download/communitytar-zxvfmongodb-linux-x86_64-rhel70-4.4.17.tgzmvmongodb-linux-x86_64-rhel70-4.4.17/usr/local/mvmongodb-linux-x86_64-rhel70-4.4.17/mongodbcd/usr/local/mongodbmkdirdatalogscd......
  • 《爬虫》爬取页面图片并保存
    @目录前言代码效果简单的爬取图片前言这几天打算整理与迁移一下博客。因为CSDN的Markdown编辑器很好用,所以全部文章与相关图片都保存在CSDN。而且CSDN支持一键导出自己的文章为markdown文件。但导出的文件中图片的连接依旧是url连接。为了方便将图片保存到本地,......
  • 【安全学习之路】Day42
    ......
  • 统一响应类和响应枚举
    统一响应类importcom.fasterxml.jackson.annotation.JsonInclude;importcom.sangeng.enums.AppHttpCodeEnum;importjava.io.Serializable;@JsonInclude(JsonInclude.Include.NON_NULL)publicclassResponseResult<T>implementsSerializable{privateInteg......
  • centos7.X安装mysql5.7 – 东凭渭水流
    1.下载mysql5.7 可以使用windows下载好后上传至Linux。网络条件好的推荐使用 wgethttps://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.43-1.el7.x86_64.rpm-bundle.tar2.解压tar-xvfmysql-5.7.43-1.el7.x86_64.rpm-bundle.tar(不带z)ps:由于centos自带mariadb,......
  • Leafer 插件开发教程
    前言Leafer是新开源的一个2D图形绘制库,目前已经有了1.1k的Star数,成长趋势非常不错,本篇不对Leafer过多介绍,不了解的同学可以直接阅读官网介绍,或者阅读我在之前写的LeaferJS尝鲜及应用数学文章中也做了简单的介绍由于目前Leafer尚在成长期,现在仍然还只是一个单纯......
  • 对陀螺仪 Z 轴角度的线性化处理
    多数陀螺仪Z轴方向角度变化如下图所示:为方便进行PID,需要对其进行线性化处理观察图像不难发现,由于非线性是跳跃间断点造成的,所以间断点两端会存在巨大的数值跳变,这个跳变就是我们可以利用的地方定义一个圈数变量,初值为0,每判定一次越界则圈数变量的值发生1的变化。假设采......