Linux MySQL专栏-Orchestrator

拓扑

一主两从(略过)

orchestrator

注意:在三台Orch机器上分别执行,通过sqlite做orch后端,通过Raft协议做orch高可用!
注意:具体看https://github.com/openark/orchestrator/tree/master/docs

wget -c  https://github.com/openark/orchestrator/releases/download/v3.2.6/orchestrator-3.2.6-1.x86_64.rpm

yum install -y orchestrator-3.2.6-1.x86_64.rpm

cd /usr/local/orchestrator
mkdir -p {log,conf,raftdata}
cp orchestrator-sample.conf.json ./conf/orchestrator.conf.json

vi ./conf/orchestrator.conf.json

{
  "Debug": true,
  "EnableSyslog": false,
  "ListenAddress": ":3000",
  "MySQLTopologyUser": "orc_client_user",
  "MySQLTopologyPassword": "orc_client_password",
  "BackendDB": "sqlite",
  "SQLite3DataFile": "/tmp/orchestrator.sqlite3",
  "MySQLConnectTimeoutSeconds": 1,
  "DefaultInstancePort": 3306,
  "DiscoverByShowSlaveHosts": true,
  "InstancePollSeconds": 1,
  "HostnameResolveMethod": "default",
  "MySQLHostnameResolveMethod": "@@hostname",
  "SkipBinlogServerUnresolveCheck": true,
  "ExpiryHostnameResolvesMinutes": 60,
  "VerifyReplicationFilters": false,
  "ReasonableMaintenanceReplicationLagSeconds": 20,
  "CandidateInstanceExpireMinutes": 60,
  "ReadOnly": false,
  "AuthenticationMethod": "",
  "ReplicationLagQuery": "select timestampdiff(second, ts, now()) from test.heartbeat",
  "DetectClusterAliasQuery": "SELECT 'ci'",
  "DetectClusterDomainQuery": "",
  "DetectInstanceAliasQuery": "",
  "DetectPromotionRuleQuery": "",
  "DetectDataCenterQuery": "select CASE @@port WHEN 10111 THEN 'dc-east-1' WHEN 10112 THEN 'dc-east-1' WHEN 10113 THEN 'dc-east-2' WHEN 10114 THEN 'dc-west' END",
  "DetectRegionQuery": "select IF(@@port = 10114, 'rgn-west', 'rgn-east')",
  "DetectPhysicalEnvironmentQuery": "select 'prod'",
  "DetectSemiSyncEnforcedQuery": "",
  "DiscoverySeeds": [
    "127.0.0.1:10111"
  ],
  "ServeAgentsHttp": false,
  "UseSSL": false,
  "UseMutualTLS": false,
  "MySQLTopologyUseMixedTLS": false,
  "StatusEndpoint": "/api/status",
  "StatusSimpleHealth": true,
  "StatusOUVerify": false,
  "BinlogEventsChunkSize": 10000,
  "SkipBinlogEventsContaining": [],
  "ReduceReplicationAnalysisCount": false,
  "FailureDetectionPeriodBlockMinutes": 1,
  "FailMasterPromotionOnLagMinutes": 1,
  "RecoveryPeriodBlockSeconds": 5,
  "RecoveryIgnoreHostnameFilters": [],
  "RecoverMasterClusterFilters": [
    "*"
  ],
  "RecoverIntermediateMasterClusterFilters": [
    "*"
  ],
  "OnFailureDetectionProcesses": [
    "echo 'Detected {failureType} on {failureCluster}. Affected replicas: {countSlaves}' >> /tmp/recovery.log"
  ],
  "PreGracefulTakeoverProcesses": [
    "echo 'Planned takeover about to take place on {failureCluster}. Master will switch to read_only' >> /tmp/recovery.log"
  ],
  "PreFailoverProcesses": [
    "echo 'Will recover from {failureType} on {failureCluster}' >> /tmp/recovery.log"
  ],
  "PostFailoverProcesses": [
    "echo '(for all types) Recovered from {failureType} on {failureCluster}. Failed: {failedHost}:{failedPort}; Successor: {successorHost}:{successorPort}' >> /tmp/recovery.log"
  ],
  "PostUnsuccessfulFailoverProcesses": [],
  "PostMasterFailoverProcesses": [
    "echo 'Recovered from {failureType} on {failureCluster}. Failed: {failedHost}:{failedPort}; Promoted: {successorHost}:{successorPort}' >> /tmp/recovery.log"
  ],
  "PostIntermediateMasterFailoverProcesses": [
    "echo 'Recovered from {failureType} on {failureCluster}. Failed: {failedHost}:{failedPort}; Successor: {successorHost}:{successorPort}' >> /tmp/recovery.log"
  ],
  "PostGracefulTakeoverProcesses": [
    "echo 'Planned takeover complete' >> /tmp/recovery.log"
  ],
  "CoMasterRecoveryMustPromoteOtherCoMaster": true,
  "DetachLostSlavesAfterMasterFailover": true,
  "ApplyMySQLPromotionAfterMasterFailover": true,
  "PreventCrossDataCenterMasterFailover": false,
  "PreventCrossRegionMasterFailover": true,
  "MasterFailoverDetachReplicaMasterHost": false,
  "MasterFailoverLostInstancesDowntimeMinutes": 0,
  "PostponeReplicaRecoveryOnLagMinutes": 0,
  "RaftEnabled": true,
  "RaftDataDir": "/usr/local/orchestrator/raftdata",
  "RaftBind": "192.168.15.7",
  "DefaultRaftPort": 10008,
  "RaftNodes": [
    "192.168.15.7",
    "192.168.15.8",
    "192.168.15.9"
  ],
  "ConsulAddress": "127.0.0.1:8500",
  "ConsulAclToken": ""
}

systemctl start   orchestrator
systemctl status  orchestrator

显示当前已知的集群(复制拓扑)
./orchestrator-client -c clusters

通过 -i 传递集群名称,打印拓扑实例树
./orchestrator-client -c topology -i alma:3306

web端验证!
http://192.168.15.7:3000

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lylaotang

你的鼓励就是我创作的动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值