ORCHESTRATOR介绍及使用
ORCHESTRATOR
一简介
MySQL高可用性和复制拓扑管理工具,支持复制拓扑结构的调整,自动故障转移和手动主从切换等。后端数据库用MySQL或SQLite存储元数据,并提供Web界面展示MySQL复制的拓扑关系及状态,通过Web可更改MySQL实例的复制关系和部分配置信息,同时也提供命令行和api接口,方便运维管理。相对比MHA来看最重要的是解决了管理节点的单点问题,其通过raft协议保证本身的高可用。
主要特点:
① 自动发现MySQL的复制拓扑,并且在web上展示。
② 重构复制关系,可以在web进行拖图来进行复制关系变更。
③ 检测主异常,并可以自动或手动恢复,通过Hooks进行自定义脚本。
④ 支持命令行和web界面管理复制。
⑤ 支持配置高可用。
二安装:
下载链接
:https://github.com/openark/orchestrator/releases/download/v3.2.2/orchestrator-3.2.2-1.x86_64.rpm
需提前安装依赖包(redhat7为例):
oniguruma-5.9.5-3.el7.x86_64.rpm
jq-1.5-1.el7.x86_64.rpm
- 创建库及用户:
CREATE DATABASE IF NOT EXISTS orchestrator;
CREATE USER 'orchestrator'@'%' IDENTIFIED BY '********';
GRANT ALL PRIVILEGES ON orchestrator.* TO ' orchestrator'@'%';
GRANT PROCESS, REPLICATION SLAVE, RELOAD ON *.* TO 'orchestrator'@'%';
GRANT SELECT ON mysql.slave_master_info TO 'orchestrator'@'%';
- 调整参数文件
cp /usr/local/orchestrator/orchestrator-sample.conf.json /usr/local/orchestrator/orchestrator.conf.json
"MySQLTopologyUser": "orchestrator", ---被管理的MySQL的用户
"MySQLTopologyPassword": "******", ---被管理的MySQL的用户密码
"MySQLOrchestratorHost": "db1", ----后端数据库地址
"MySQLOrchestratorPort": 3306, ---后端数据库端口
"MySQLOrchestratorDatabase": "orchestrator",---后端数据库名
"MySQLOrchestratorUser": "******", ---后端数据库用户名
"MySQLOrchestratorPassword": "db1",---后端数据库用户密码
"RecoverMasterClusterFilters": ["*"],---只对匹配这些正则表达式模式的集群进行主恢复(“*”模式匹配所有) "RecoverIntermediateMasterClusterFilters": ["*"],--仅在与这些正则表达式模式匹配的集群上进行IM恢复(“*”模式匹配所有)
"FailureDetectionPeriodBlockMinutes": 60,-- 在该时间内再次出现故障,不会被多次发现
"RecoveryPeriodBlockSeconds": 3600--在该时间内再次出现故障,不会进行迁移,避免出现并发恢复和不稳定
- 配置orchestrator 高可用
在每个节点上修改orchestrator.conf.json配置文件:
"RaftEnabled": true, --是否开启Raft,保证orch的高可用
"RaftDataDir": "/var/lib/orchestrator",-- Raft的数据目录
"RaftBind": "db1", -- Raft 的 bind地址
"DefaultRaftPort": 10008, -- Raft的端口
"RaftNodes": [ "db1", "db2", "db3" ] -- Raft的节点
- 启动服务:
./orchestrator --debug --config=orchestrator.conf.json http &
三.功能使用
三常见使用:
1. 列出所有集群:clusters
默认:
# orchestrator -c clusters
db2:3306
返回包含集群别名:clusters-alias
# orchestrator -c clusters-alias
db2:3306,test
2. 发现指定实例:discover/async-discover
同步发现:
# orchestrator -c discover -i db1:3306
db1:3306
异步发现:适用于批量
# orchestrator -c async-discover -i db1:3306
:null
3. 忘记指定对象:forget/forget-cluster
忘记指定实例:
# orchestrator -c forget -i db1:3306
忘记指定集群:
# orchestrator -c forget-cluster -i test
4. 打印指定集群的拓扑:topology/topology-tabulated
普通返回:
# orchestrator -c topology -i db1:3306
db2:3306 [0s,ok,5.7.25-0ubuntu0.16.04.2-log,rw,ROW,>>,GTID]
+ db1:3306 [0s,ok,5.7.25-0ubuntu0.16.04.2-log,ro,ROW,>>,GTID]
+ db3:3306 [0s,ok,5.7.25-log,ro,ROW,>>,GTID]
列表返回:
# orchestrator -c topology-tabulated -i db1:3306
db2:3306 |0s|ok|5.7.25-0ubuntu0.16.04.2-log|rw|ROW|>>,GTID
+ db1:3306|0s|ok|5.7.25-0ubuntu0.16.04.2-log|ro|ROW|>>,GTID
+ db3:3306|0s|ok|5.7.25-log |ro|ROW|>>,GTID
5. 查看使用哪个API:自己会选择出leader。which-api
# orchestrator -c which-api
db3:3000/api
也可以通过 http://192.168.163.133:3000/api/leader-check 查看。
6. 调用api请求,需要和 -path 参数一起:api..-path
# orchestrator -c api -path clusters
[ "db2:3306" ]
# orchestrator -c api -path leader-check
"OK"
# orchestrator -c api -path status
{ "Code": "OK", "Message": "Application node is healthy"...}
7. 搜索实例:search
# orchestrator -c search -i test
db2:3306
db1:3306
db3:3306
8. 打印指定实例的主库:which-master
# orchestrator -c which-master -i db1:3306
db2:3306
# orchestrator -c which-master -i db3:3306
db2:3306
# orchestrator -c which-master -i db2:3306 #自己本身是主库
:0
9. 打印指定实例的从库:which-replicas
# orchestrator -c which-replicas -i db2:3306
db1:3306
db3:3306
10. 打印指定实例的实例名:which-instance
# orchestrator -c instance -i db1:3306
---切换相关
1.手工主从切换:
test2:3306优雅的切换到test1:3306,切换之后需要手动执行start slave
orchestrator -c graceful-master-takeover -a test2:3306 -d test1:3306
2. 手动恢复,当从库进入停机或者维护模式,此时主库宕机,不会自动Failover,需要手动执行恢复,指定死掉的主实例:
orchestrator -c recover -i test1:3306
3. 手动强制恢复,不管任何情况,都进行恢复:
orchestrator -c force-master-failover -i test2:3306
--更多
orchestrator –help
ORCHESTRATOR介绍及使用的更多相关文章
- MySQL高可用复制管理工具 —— Orchestrator介绍
背景 在MySQL高可用架构中,目前使用比较多的是Percona的PXC,Galera以及MySQL 5.7之后的MGR等,其他的还有的MHA,今天介绍另一个比较好用的MySQL高可用复制管理工具:O ...
- MySQL高可用复制管理工具 —— Orchestrator使用
背景 在上一篇「MySQL高可用复制管理工具 —— Orchestrator介绍」中大致介绍了Orchestrator的功能.配置和部署,当然最详细的说明可以查阅官方文档.本文开始对Orchestra ...
- orchestrator的安装和配置
介绍 在MySQL高可用架构中,目前使用比较多的是Percona的PXC,Galera以及MySQL 5.7之后的MGR等,其他的还有的MHA,今天介绍另一个比较好用的MySQL高可用复制管理工具:O ...
- 前端构建工具gulpjs的使用介绍及技巧
gulpjs是一个前端构建工具,与gruntjs相比,gulpjs无需写一大堆繁杂的配置参数,API也非常简单,学习起来很容易,而且gulpjs使用的是nodejs中stream来读取和操作数据,其速 ...
- 前端构建工具gulp介绍
2016年3月3日 10:46:08 晴 前端构建工具gulpjs的使用介绍及技巧 gulpjs是一个前端构建工具,与gruntjs相比,gulpjs无需写一大堆繁杂的配置参数,API也非常简 ...
- gulp plugins 插件介绍
目录 [−] gulp API gulp.src(globs[, options]) gulp.dest(path[, options]) gulp.task(name[, deps], fn) gu ...
- [转载]前端构建工具gulpjs的使用介绍及技巧
转载地址:http://www.cnblogs.com/2050/p/4198792.html gulpjs是一个前端构建工具,与gruntjs相比,gulpjs无需写一大堆繁杂的配置参数,API也非 ...
- 一步步使用BMC Atrium Orchestrator Vmware Infrastructure Event Monitor
本教程将一步步演示怎么使用BMC Atrium Orchestrator (BAO) Vmware Infrastructure Event Monitor来监控VSphere Webservice的 ...
- Gulp介绍与入门实践
Gulp,一个基于流的构建工具. 这是自己写的一个构建的demo,只是一个纯演示的示例,并没有完成什么项目工作.下面根据这个demo介绍一下Gulp. 上代码: gulpfile.js 'use st ...
随机推荐
- 「线段树」「单点修改」洛谷P1198 [JSOI2008]最大数
「线段树」「单点修改」洛谷P1198 [JSOI2008]最大数 题面描述 现在请求你维护一个数列,要求提供以下两种操作: 1. 查询操作. 语法:Q L 功能:查询当前数列中末尾L个数中的最大的数, ...
- C# 跨平台UI 技术
构建跨平台应用程序的的几种UI技术,以C# 或者其他基于.NET的 语言(诸如:Visual Basic[VB]).本文研究了三种跨平台技术,并讨论了在哪些情况下开发人员可以使用这些技术.本文使你对可 ...
- 小程序爬坑(一)之时间格式IOS的兼容
new Date()传参差异化问题 在安卓系统中,直接传入标准格式字符串,就可以转换为Date格式数据 在苹果系统中不支持ISO-8601标准格式的时间字符串 IOS在使用new Date()创建日期 ...
- JQ滚动加载
$(window).scroll(function () { if ($(document).scrollTop() + $(window).height() >= $(document).he ...
- flask 源码专题(十一):LocalStack和Local对象实现栈的管理
目录 04 LocalStack和Local对象实现栈的管理 1.源码入口 1. flask源码关于local的实现 2. flask源码关于localstack的实现 3. 总结 04 LocalS ...
- scrapy 基础组件专题(四):信号运用
一.scrapy信号使用的简单实例 import scrapy from scrapy import signals from ccidcom.items import CcidcomItem cla ...
- 数据可视化实例(十五):有序条形图(matplotlib,pandas)
偏差 (Deviation) 有序条形图 (Ordered Bar Chart) 有序条形图有效地传达了项目的排名顺序. 但是,在图表上方添加度量标准的值,用户可以从图表本身获取精确信息. https ...
- hihoCoder 1062 最近公共祖先·一 最详细的解题报告
题目来源:最近公共祖先·一 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 题目描述 小Ho最近发现了一个神奇的网站!虽然还不够像58同城那样神奇,但这个网站仍然让小Ho乐在其 ...
- Trie——解决字符串搜索、异或最值问题
Trie--解决字符串搜索.异或最值问题 在说到Trie之前,我们设想如下问题: 给我们1e5个由小写字母构成的不重复的字符串,每个字符串长度不超过6,之后是1e5次查询操作,每次给我们一个字符串,要 ...
- 入门大数据---Hive计算引擎Tez简介和使用
一.前言 Hive默认计算引擎时MR,为了提高计算速度,我们可以改为Tez引擎.至于为什么提高了计算速度,可以参考下图: 用Hive直接编写MR程序,假设有四个有依赖关系的MR作业,上图中,绿色是Re ...