美文网首页
Orchestrator安装与配置

Orchestrator安装与配置

作者: 蓝天_528f | 来源:发表于2019-10-18 14:19 被阅读0次

特点:

1、可以轻松调整各节点间的复制关系,可以web图形化操作,可以命令行操作。

2、自动检测主库异常,并可以按照自定规则或者自主选择数据延迟最低的节点接替旧主库,还可以通过Hooks自定义脚本进行扩展。

3、支持管理节点的高可用,基于Raft分步式一致性协议。

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

5、结合GTID,半同步复制可以轻松实现零数据丢失。

6、无侵入性,支持Mysql、Percona Mysql、MarriaDB等,现在类似的方案中, MGR, PXC都会不同程度的使用限制。

MySQL主从、GTID、半同步复制等主要配置省略,特别注意事项:

stop slave;

change master to master_host='192.168.44.129', master_port=3306, master_user='repl', master_password='repl123',master_auto_position=1,MASTER_HEARTBEAT_PERIOD=2,MASTER_CONNECT_RETRY=1,MASTER_RETRY_COUNT=86400;

set global slave_net_timeout=8;

start slave;

在被管理MySQL中建立用户

GRANT SELECT, RELOAD, PROCESS, SUPER, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'orchestrator'@'%' IDENTIFIED BY 'orchestrator';

下载并在主、从、从上安装orchestrator。

https://github.com/github/orchestrator/releases/download/v3.1.2/orchestrator-3.1.2-linux-amd64.tar.gz

tar xzvf orchestrator-3.1.2-linux-amd64.tar.gz -C /

vim /usr/local/orchestrator/orchestrator.conf.json

{

  "Debug": true,    #开启调试模式,测试结束后可以设置为false

  "EnableSyslog": false,

  "ListenAddress": ":3000",    #orch监听端口

  "MySQLTopologyUser": "orchestrator",    #被管理数据库用户

  "MySQLTopologyPassword": "orchestrator",    #被管理数据库用户密码

  "MySQLTopologyCredentialsConfigFile": "",    #可以将用户密码配置到文件中

  "MySQLTopologySSLPrivateKeyFile": "",

  "MySQLTopologySSLCertFile": "",

  "MySQLTopologySSLCAFile": "",

  "MySQLTopologySSLSkipVerify": true,

  "MySQLTopologyUseMutualTLS": false,

  "BackendDB": "sqlite",    #orch后台数据库类型

  "SQLite3DataFile": "/usr/local/orchestrator/orchestrator.sqlite3",     #orch后台数据库存放位置

  "MySQLConnectTimeoutSeconds": 1,

  "DefaultInstancePort": 3306,

  "DiscoverByShowSlaveHosts": true,

  "InstancePollSeconds": 5,

  "UnseenInstanceForgetHours": 240,

  "SnapshotTopologiesIntervalHours": 0,

  "InstanceBulkOperationsWaitTimeoutSeconds": 10,

  "HostnameResolveMethod": "default",

  "MySQLHostnameResolveMethod": "@@hostname",

  "SkipBinlogServerUnresolveCheck": true,

  "ExpiryHostnameResolvesMinutes": 60,

  "RejectHostnameResolvePattern": "",

  "ReasonableReplicationLagSeconds": 10,

  "ProblemIgnoreHostnameFilters": [],

  "VerifyReplicationFilters": false,

  "ReasonableMaintenanceReplicationLagSeconds": 20,

  "CandidateInstanceExpireMinutes": 60,

  "AuditLogFile": "",

  "AuditToSyslog": false,

  "ReadOnly": false,

  "AuthenticationMethod": "",

  "HTTPAuthUser": "",

  "HTTPAuthPassword": "",

  "AuthUserHeader": "",

  "PowerAuthUsers": [

    "*"

  ],

  "ClusterNameToAlias": {

    "127.0.0.1": "test suite"

  },

  "SlaveLagQuery": "",

  "DetectClusterAliasQuery": "SELECT SUBSTRING_INDEX(@@hostname, '.', 1)",

  "DetectClusterDomainQuery": "",

  "DetectInstanceAliasQuery": "",

  "DetectPromotionRuleQuery": "",

  "PromotionIgnoreHostnameFilters": ["mysqls2"],    #排除非意向候选备库

  "DetectSemiSyncEnforcedQuery": "",

  "ServeAgentsHttp": false,

  "AgentsServerPort": ":3001",

  "AgentsUseSSL": false,

  "AgentsUseMutualTLS": false,

  "AgentSSLSkipVerify": false,

  "AgentSSLPrivateKeyFile": "",

  "AgentSSLCertFile": "",

  "AgentSSLCAFile": "",

  "AgentSSLValidOUs": [],

  "UseSSL": false,

  "UseMutualTLS": false,

  "SSLSkipVerify": false,

  "SSLPrivateKeyFile": "",

  "SSLCertFile": "",

  "SSLCAFile": "",

  "SSLValidOUs": [],

  "URLPrefix": "",

  "StatusEndpoint": "/api/status",

  "StatusSimpleHealth": true,

  "StatusOUVerify": false,

  "AgentPollMinutes": 60,

  "UnseenAgentForgetHours": 6,

  "StaleSeedFailMinutes": 60,

  "SeedAcceptableBytesDiff": 8192,

  "PseudoGTIDPattern": "",

  "PseudoGTIDPatternIsFixedSubstring": false,

  "PseudoGTIDMonotonicHint": "asc:",

  "DetectPseudoGTIDQuery": "",

  "BinlogEventsChunkSize": 10000,

  "SkipBinlogEventsContaining": [],

  "ReduceReplicationAnalysisCount": true,

  "FailureDetectionPeriodBlockMinutes": 1,    #failover后多长时间内再次发现主库down掉,不予处理

  "RecoveryPeriodBlockSeconds": 60,   #failover后多长时间内再次发现主库down掉,不予处理

  "RecoveryIgnoreHostnameFilters": [],

  "RecoverMasterClusterFilters": ["*"],    #主库down掉后,需要做recover的列表,不配置则不会理会

  "RecoverIntermediateMasterClusterFilters": ["*"],   #主库down掉后,需要做recover的列表,不配置则不会理会

  "OnFailureDetectionProcesses": [

    "echo 'Detected {failureType} on {failureCluster}. Affected replicas: {countSlaves}' >> /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"

    "/usr/local/bin/orch_hook.sh {failureType} {failureClusterAlias} {failedHost} {successorHost} >> /tmp/orch.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"

  ],

  "CoMasterRecoveryMustPromoteOtherCoMaster": true,

  "DetachLostSlavesAfterMasterFailover": true,

  "ApplyMySQLPromotionAfterMasterFailover": true,

  "PreventCrossDataCenterMasterFailover": false,

  "PreventCrossRegionMasterFailover": false,

  "MasterFailoverDetachSlaveMasterHost": false,

  "MasterFailoverLostInstancesDowntimeMinutes": 0,

  "PostponeSlaveRecoveryOnLagMinutes": 0,

  "OSCIgnoreHostnameFilters": [],

  "GraphiteAddr": "",

  "GraphitePath": "",

  "GraphiteConvertHostnameDotsToUnderscores": true,

  "RaftEnabled": true,    #启动orch高可用

  "RaftBind": "192.168.44.129",

  "RaftDataDir": "/var/lib/orchestrator",

  "DefaultRaftPort": 10008,

  "RaftNodes": [

    "192.168.44.129",

    "192.168.44.130",

    "192.168.44.132"

  ]

}

在主、从、从上分别启动orchestrator,注意不能写绝对路径。

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

打开任意节点web管理端

http://192.168.44.129:3000

相关文章

网友评论

      本文标题:Orchestrator安装与配置

      本文链接:https://www.haomeiwen.com/subject/utvimctx.html