一、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 2024-08-28 11:09  xibuhaohao  阅读(167)  评论(0)    收藏  举报