binlogctl 工具

    binlogctl 支持如下这些功能:

    • 查看 Pump/Drainer 状态
    • 暂停/下线 Pump/Drainer

    使用 binlogctl 的场景:

    • 同步出现故障/检查运行情况,需要查看 Pump/Drainer 的状态
    • 维护集群,需要暂停/下线 Pump/Drainer
    • Pump/Drainer 异常退出,状态没有更新,或者状态不符合预期,对业务造成影响

    注意

    建议使用的 Control 工具版本与集群版本保持一致。

    binlogctl 使用说明

    命令行参数:

    命令示例:

    • 查询所有的 Pump/Drainer 的状态:

      设置 为 pumps 或者 drainers 来查看所有 Pump 或者 Drainer 的状态。例如:

      1. 暂停/下线 Pump/Drainer

        binlogctl 会发送 HTTP 请求给 Pump/Drainer,Pump/Drainer 收到命令后会主动执行对应的退出流程。

      2. 异常情况下修改 Pump/Drainer 的状态

        在服务正常运行以及符合流程的暂停、下线过程中,Pump/Drainer 的状态都是可以正确的。但是在一些异常情况下 Pump/Drainer 无法正确维护自己的状态,可能会影响数据同步任务,在这种情况下需要使用 binlogctl 修复状态信息。

        设置 cmdupdate-pump 或者 update-drainer 来更新 Pump 或者 Drainer 的状态。Pump 和 Drainer 的状态可以为 paused 或者 offline。例如:

        binlog-ctl - 图2

        Pump/Drainer 在正常运行过程中会定期在 PD 中更新自己的状态,而这条命令是直接去修改 Pump/Drainer 保存在 PD 中的状态,所以在 Pump/Drainer 服务正常的情况下使用这些命令是没有意义的。仅在 Pump/Drainer 服务异常的情况下使用,具体哪些场景下使用这条命令可以参考 FAQ。