一、orchestrator-client 使用前安装依赖
1、orchestrator-client报错

这个错误表明 orchestrator-client 程序试图执行某些操作时,它依赖于 jq 这个命令行 JSON 处理工具,但是没有找到这个工具。jq 是一个轻量级且灵活的命令行 JSON 处理器。
2、安装orchestrator-client 依赖

yum -y install jq
3、测试orchestrator-client

./orchestrator-client --help
二、orchestrator-client 使用
1、查看帮助
可以查看到所有参数及注解
orchestrator-client -c help
2、查看所有集群
orchestrator-client -c clusters
3、查看从库
查看 test02:3307 实例的从库
orchestrator-client -c which-replicas -i test02:3307
4、查看主库
查看 test03:3307 的主库
orchestrator-client -c which-master -i test03:3307
5、查看集群所有实例
查看 test02:3307 集群的所有实例
orchestrator-client -c which-cluster-instances -i test02:3307
6、查看拓扑结构
查看 test02:3307 集群的拓扑信息
orchestrator-client -c topology -i test02:3307
7、查看发现的所有实例
1)显示所有集群的所有实例
orchestrator-client -c all-instances
2)忘记一个实例
在拓扑信息中不显示 test03:3307 实例
orchestrator-client -c forget -i test03:3307
3)发现一个实例
使用 orchestrator 扫描 test03:3307,并显示在拓扑信息中
orchestrator-client -c discover -i test03:3307
8、自动选主
1)在切换主从时,旧主库自动指向新主库
orchestrator-client -c graceful-master-takeover-auto -i test03:3307
2)不启动旧主库
将 test04 提升为主库,切换后旧主库指向新主库不开启复制线程
orchestrator-client -c graceful-master-takeover -i test02:3307 -d test04:3307
3)启动旧主库
将 test03 提升为主库,切换后旧主库指向新主库并开启复制线程
orchestrator-client -c graceful-master-takeover-auto -i test04:3307 -d test03:3307
9、迁移复制实例
# 查看切换前拓扑
[root@test02 tmp]# orchestrator-client -c topology -i test02:3307
test03:3307 [0s,ok,5.7.44-log,rw,ROW,>>,GTID]
+ test02:3307 [0s,ok,5.7.44-log,ro,ROW,>>,GTID]
+ test04:3307 [0s,ok,5.7.44-log,ro,ROW,>>,GTID,downtimed]
把 test02 放到 test04 下进行级联复制
orchestrator-client -c relocate -i test02:3307 -d test04:3307
# 查看切换后拓扑
[root@test02 tmp]# orchestrator-client -c topology -i test02:3307
test03:3307 [0s,ok,5.7.44-log,rw,ROW,>>,GTID]
+ test04:3307 [0s,ok,5.7.44-log,ro,ROW,>>,GTID]
+ test02:3307 [0s,ok,5.7.44-log,ro,ROW,>>,GTID] # 在这
10、从库操作
1)停止从库
orchestrator-client -c stop-replica -i test04:3307
2)启动从库
orchestrator-client -c start-replica -i test04:3307
3)重启从库
orchestrator-client -c restart-replica -i test04:3307
4)从库分离
将从库分离到集群外,不进行复制,通过修改 change master 里的 host // test02
orchestrator-client -c detach-replica -i test04:3307
5)从库重新加入
将从库加入到集群,开启复制,通过修改 change master 里的 host test02
orchestrator-client -c reattach-replica -i test04:3307
11、检查集群健康状况
orchestrator-client -c replication-analysis
12、设置节点读写
1)设置节点可写
set read_only=0
orchestrator-client -c set-writeable -i test02:3307
2)设置节点只读
set read_only=1
orchestrator-client -c set-read-only -i test02:3307
13、启动半同步复制
orchestrator-client -c enable-semi-sync-master -i test04:3307
⚠️:需要先在 MySQL 实例中加载半同步复制插件
# mysql 命令行
INSTALL PLUGIN rpl_semi_sync_master SONAME 'semisync_master.so';
INSTALL PLUGIN rpl_semi_sync_slave SONAME 'semisync_slave.so';
# 配置文件
[mysqld]
plugin-load=rpl_semi_sync_master=semisync_master.so
plugin-load=rpl_semi_sync_slave=semisync_slave.so
14、关闭半同步复制
orchestrator-client -c disable-semi-sync-master -i test04:3307
15、使用API显示特定主机的所有数据
显示详细信息
orchestrator-client -c api -path instance/test03/3307|jq .
其他命令使您可以更精细地控制服务器的重新定位方式。考虑经典的二进制日志 file:pos 重新指向副本的方式:
16、将副本在拓扑中向上移动
(使其成为其主副本的sbling,或其“祖父母”的直接副本):
orchestrator -c move-up -i 127.0.0.1:22988
仅当实例有祖父母且不存在副本滞后等问题时,上述命令才会成功。
17、将副本移至其同级下方
orchestrator -c move-below -i 127.0.0.1:22988 -d 127.0.0.1:22990 --debug
上面的命令只有在127.0.0.1:22988和127.0.0.1:22990是同级(同一主服务器的副本)时才会成功,它们都没有问题(例如副本滞后),并且同级可以是实例的主服务器(即有二进制日志,有log_slave_updates,没有版本冲突等)
批量使用示例
https://github.com/openark/orchestrator/blob/master/docs/script-samples.md
安全相关配置
https://github.com/openark/orchestrator/blob/master/docs/security.md
————————————————
部分内容转载自:https://blog.csdn.net/weixin_45385457/article/details/137790357
posted on
浙公网安备 33010602011771号