• MySQL高可用架构ORCH


    Orchestrator(orch)

    简介

    orchestrator 是 go编写的MySQL高可用性和复制拓扑管理工具,支持复制拓扑结构的调整,自动故障转移和手动主从切换等功能,并提供命令行访问、HTTP API 和 Web 界面。后端数据库用MySQL或SQLite存储元数据,orch作为独立的组件用于管理MySQL或SQLite数据库复制环境的场景。

    支持的功能

    Discovery(自动发现)

    自动发现MySQL的复制拓扑,并且在web上展示

    Refactoring(重构)

    可以在web进行拖图来进行复制关系的变更

    Recovery(恢复)

    检测主异常,并可以自动或手动恢复,通过Hooks进行自定义脚本

    部署

    orch 是用主机名进行管理维护工作。

    环境规划

    监控目标 MySQL一主两从复制架构(可新建或现存环境),使用mysql作为orch的元数据库

    IP 主机名称 端口 组件
    orch 后端数据库
    192.168.10.181 db01 3306 orchestrator
    192.168.10.182 db02 3306 orchestrator
    192.168.10.183 db03 3306 orchestrator
    监控目标数据库
    192.168.10.181 db01 3308 MySQL
    192.168.10.182 db02 3308 MySQL
    192.168.10.183 db03 3308 MySQL

    下载软件

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

    依赖

    使用 MySQL 作为后端元信息库时
    • 安装MySQL数据库
    使用 SQLite 作为后端元信息库时

    安装

    二进制(tarball)

    GitHub中仅提供linux环境的tarball包

    tar -xf orchestrator-3.2.6-linux-amd64.tar.gz -C /ups/app/
    
    配置环境变量
    expport PATH=/ups/app/orchestrator-3.2.6/bin:$PATH
    
    rpm包
    rpm -i orchestrator-3.2.6.x86_64.rpm
    

    配置

    配置后端元信息数据库
    -- 元数据库MySQL和orchestrator在同一台机器,否则需要将127.1替换orchestrator所在机器ip
    CREATE DATABASE IF NOT EXISTS orchestrator;
    CREATE USER 'orchestrator'@'127.0.0.1' IDENTIFIED BY 'orch_backend_password';
    GRANT ALL PRIVILEGES ON `orchestrator`.* TO 'orchestrator'@'127.0.0.1';
    
    授权访问权限(监控目标数据库执行)

    给orchestrator用户授权访问监控目标数据库权限

    CREATE USER 'orchestrator'@'orch_hostname' IDENTIFIED BY 'orch_topology_password';
    GRANT SUPER, PROCESS, REPLICATION SLAVE, RELOAD ON *.* TO 'orchestrator'@'orch_hostname';
    GRANT SELECT ON mysql.slave_master_info TO 'orchestrator'@'orch_hostname';
    GRANT SELECT ON ndbinfo.processes TO 'orchestrator'@'orch_hostname'; -- Only for NDB Cluster
    GRANT SELECT ON meta.* TO 'orchestrator'@'orch_hostname'; --自定义meta库
    
    Orchestrator配置文件(/etc/orchestrator.conf.json)

    修改下面配置项

    "MySQLOrchestratorHost": "127.0.0.1",
    "MySQLOrchestratorPort": 3306,
    "MySQLOrchestratorDatabase": "orchestrator",
    "MySQLOrchestratorUser": "orchestrator",
    "MySQLOrchestratorPassword": "orch_backend_password",
    
    "MySQLTopologyUser": "orchestrator",
    "MySQLTopologyPassword": "orch_topology_password",
    

    启动orchestator服务

    ./orchestrator --debug --config=/etc/orchestrator.conf.json http
    

    使用

    附录

    参考文档

  • 相关阅读:
    IntelliJ IDEA 编译方式介绍
    IntelliJ IDEA 缓存和索引介绍和清理方法
    无线鼠标没反应了
    L1-039 古风排版 (20 分)
    L1-043 阅览室 (20 分)
    数学思想
    输入
    2018年湘潭大学程序设计竞赛 E 吃货
    问题 1936: [蓝桥杯][算法提高VIP]最大乘积
    指针 链表
  • 原文地址:https://www.cnblogs.com/binliubiao/p/15969231.html
Copyright © 2020-2023  润新知