orchestrator部署

場景:
用于管理MySQL高可用

  1. 下載jq包
    每臺orchestrator集群機器上都進行下載。
# wget http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
# rpm -ivh epel-release-latest-7.noarch.rpm
# yum repolist ###檢查是否已經添加到源列表
# yum install -y jq
  1. 添加域名解析
    若Orchestrator啟用域名作為管理,編輯/etc/hosts(不采用該方式)
    在這里插入圖片描述
    注:若直接用ip管理,不啟用域名管理集群,則不需要配置。需要在orchestrator配置文件里設定以下兩個參數為:
    在這里插入圖片描述

  2. 后端數據庫設置
    Create database orchestrator;
    CREATE USER ‘orchestrator’@‘%’ IDENTIFIED BY ‘orchestrator’;
    GRANT ALL ON orchestrator.* TO ‘orchestrator’@‘%’;

  3. 被管理的mysql集群設置

  1. 用戶授權
    CREATE USER ‘orchestrator’@‘%’ IDENTIFIED BY ‘orchestrator’;
    GRANT SUPER, PROCESS, REPLICATION SLAVE, RELOAD ON . TO ‘orchestrator’@‘%’;
    GRANT SELECT ON mysql.slave_master_info TO ‘orchestrator’@‘%’;

GRANT SELECT ON performance_schema.replication_group_members TO ‘orchestrator’@‘%’;
2) 設置report_host參數
orchestrator使用ip進行管理,MySQL配置文件需要加report_host參數。
在這里插入圖片描述
如若出現給定主庫,發現不了從庫,給被管理的mysql服務配置文件添加“report_host=ip”的參數,然后重啟mysql服務生效。
由主庫發現從庫,由參數DiscoverByShowSlaveHosts控制。如果為true,則會嘗試先通過show slave hosts命令去發現從庫。
從庫設置了正確的report_host,show slave hosts中的host字段顯示正確的IP,則直接通過show slave hosts發現從庫。
從庫沒有設置report_host,show slave hosts中的host字段顯示為空,則通過processlist發現從庫。
5. 配置文件說明
安裝包有提供模板
/usr/local/orchestrator/ orchestrator-sample.conf.json ,在模板上根據具體情況進行參數填寫,然后重命名orchestrator.conf.json,放到/etc目錄下,
需要設置的基本參數及說明如下:
在這里插入圖片描述
ListenAddress web界面的http端口
MySQLTopologyUser 被管理的MySQL的用戶(明文)
MySQLTopologyPassword 被管理的MySQL的密碼(密文)
MySQLOrchestratorHost orch后端數據庫地址
MySQLOrchestratorPort orch后端數據庫端口
MySQLOrchestratorDatabase orch后端數據庫名
MySQLOrchestratorUser orch后端數據庫用戶名(明文)
MySQLOrchestratorPassword orch后端數據庫密碼(明文)
DefaultInstancePort 被管理MySQL的默認端口
RaftEnabled 是否開啟Raft,保證orch的高可用。
RaftDataDir Raft的數據目錄
BackendDB 后端數據庫類型。
RaftBind Raft 的 bind地址,每臺機器填自己的ip
DefaultRaftPort DefaultRaftPort
RaftNodes Raft的節點。

示例:

{"Debug": true,"EnableSyslog": false,"ListenAddress": ":3000","MySQLTopologyUser": "orchestrator","MySQLTopologyPassword": "orch`123qwer","MySQLTopologyCredentialsConfigFile": "","MySQLTopologySSLPrivateKeyFile": "","MySQLTopologySSLCertFile": "","MySQLTopologySSLCAFile": "","MySQLTopologySSLSkipVerify": true,"MySQLTopologyUseMutualTLS": false,"MySQLOrchestratorHost": "127.0.0.1","MySQLOrchestratorPort": 3305,"MySQLOrchestratorDatabase": "orchestrator","MySQLOrchestratorUser": "orchestrator","MySQLOrchestratorPassword": "orchestrator","MySQLOrchestratorCredentialsConfigFile": "","MySQLOrchestratorSSLPrivateKeyFile": "","MySQLOrchestratorSSLCertFile": "","MySQLOrchestratorSSLCAFile": "","MySQLOrchestratorSSLSkipVerify": true,"MySQLOrchestratorUseMutualTLS": false,"MySQLConnectTimeoutSeconds": 1,"DefaultInstancePort": 3305,"DiscoverByShowSlaveHosts": true,"InstancePollSeconds": 5,"DiscoveryIgnoreReplicaHostnameFilters": ["a_host_i_want_to_ignore[.]example[.]com",".*[.]ignore_all_hosts_from_this_domain[.]example[.]com","a_host_with_extra_port_i_want_to_ignore[.]example[.]com:3307"],"UnseenInstanceForgetHours": 240,"SnapshotTopologiesIntervalHours": 0,"InstanceBulkOperationsWaitTimeoutSeconds": 10,"HostnameResolveMethod": "none","MySQLHostnameResolveMethod": "","SkipBinlogServerUnresolveCheck": true,"ExpiryHostnameResolvesMinutes": 60,"RejectHostnameResolvePattern": "","ReasonableReplicationLagSeconds": 10,"ProblemIgnoreHostnameFilters": [],"VerifyReplicationFilters": false,"ReasonableMaintenanceReplicationLagSeconds": 20,"CandidateInstanceExpireMinutes": 60,"AuditLogFile": "","AuditToSyslog": false,"RemoveTextFromHostnameDisplay": ".mydomain.com:3306","ReadOnly": false,"AuthenticationMethod": "basic","HTTPAuthUser": "orchestrator","HTTPAuthPassword": "orchestrator","AuthUserHeader": "","PowerAuthUsers": ["*"],"ClusterNameToAlias": {"127.0.0.1": "test suite"},"ReplicationLagQuery": "","DetectClusterAliasQuery": "SELECT SUBSTRING_INDEX(@@hostname, '.', 1)","DetectClusterDomainQuery": "","DetectInstanceAliasQuery": "","DetectPromotionRuleQuery": "","DataCenterPattern": "[.]([^.]+)[.][^.]+[.]mydomain[.]com","PhysicalEnvironmentPattern": "[.]([^.]+[.][^.]+)[.]mydomain[.]com","PromotionIgnoreHostnameFilters": [],"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,"FailMasterPromotionOnLagMinutes": 0,"RecoveryPeriodBlockSeconds": 60,"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","source /usr/local/orchestrator/script/orch_hook.sh {failureType} {failureClusterAlias} {failedHost} {successorHost} >> /tmp/orch_vip.log","source /usr/local/orchestrator/script/dble.sh {failureType} {failureClusterAlias} {failedHost} {successorHost} >> /tmp/orch_dble.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": false,"MasterFailoverDetachReplicaMasterHost": false,"MasterFailoverLostInstancesDowntimeMinutes": 0,"PostponeReplicaRecoveryOnLagMinutes": 0,"OSCIgnoreHostnameFilters": [],"GraphiteAddr": "","GraphitePath": "","GraphiteConvertHostnameDotsToUnderscores": true,"RaftEnabled": true,"BackendDB": "mysql","RaftBind": "1xx.1x.x.146","RaftDataDir": "/home/data/orchestrator","DefaultRaftPort": 10008,"RaftNodes": ["1xx.1x.x.146","1xx.1x.x.147","1xx.1x.x.148"],"ConsulAddress": "","ConsulAclToken": "","ConsulKVStoreProvider": "consul"
}
  1. 啟動服務
    在每臺orchestrator集群機器的orchestrator安裝目錄下,運行:
    ./orchestrator --debug --config=/etc/orchestrator.conf.json http

  2. systemctl托管服務
    解壓orchestrator壓縮包時,在
    /usr/local/etc/systemd/system目錄下會有托管文件:orchestrator.service。 將其移動到/usr/lib/systemd/system/orchestrator.service。內容如下:
    在這里插入圖片描述
    啟動:systemctl start orchestrator

  3. 登錄web界面
    登錄URL:1xx.1x.3.146:3000 或1xx.1x.3.147:3000 或 1xx.1x.3.148:3000

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/92100.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/92100.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/92100.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

CentOS 6.4 上安裝 Oracle 10.2.0.1 并升級到 10.2.0.4

目錄 一、系統檢查與設置 1. 檢查系統版本與磁盤空間 2. 修改系統參數 3. 創建組和用戶 4. 設置主機名 5. 檢查安裝軟件包 6. 設置 oracle 用戶環境變量 二、安裝 Oracle 軟件包 1. 安裝 10.2.0.1 安裝包 2. 安裝 10.2.0.4 補丁 三、建庫 四、配置監聽器 1. 編輯配…

【基于C# + HALCON的工業視系統開發實戰】二十六、車規級PCB全自動質檢:3D SPI+AI光學檢測融合方案

摘要:本文詳細闡述基于C# .NET Core 6與HALCON 24.11開發的車規級PCB板AOI智能檢測系統,提出3D SPI與AI光學檢測融合方案。系統通過結構光3D測量技術實現錫膏印刷質量檢測,結合多算法融合的自動光學檢測完成元件缺陷識別,構建SPI與…

Go源碼解讀——互斥鎖與讀寫鎖

互斥鎖Mutextype Mutex struct {// 表示互斥鎖狀態state int32// 表示信號量,協程阻塞等待該信號量,解鎖的協程釋放信號量從而喚醒等待信號量的協程sema uint32 }Locked: 表示該Mutex是否已被鎖定,0:沒有鎖定 1:已被鎖…

Linux(centos)安全狗

sdui進入操作頁面 [rootlocalhost safedog_an_linux64_2.8.32947]# sdui維護 查看、啟動或停止服務。 [rootiZbp1f0xuq9rc41s6gdvfyZ /]# systemctl status safedog [rootiZbp1f0xuq9rc41s6gdvfyZ /]# systemctl start safedog [rootiZbp1f0xuq9rc41s6gdvfyZ /]# systemct…

ES9 / ES2018 正則表達式增強

? 一、命名捕獲組(Named Capture Groups)給捕獲結果起名字,更易讀、更易維護。🔹 傳統寫法(位置識別):const result /(\d{4})-(\d{2})-(\d{2})/.exec("2025-07-31"); console.log(…

深入Java開發:Token的全方位解析與實戰指南(下)

深入Java開發:Token的全方位解析與實戰指南(下) 上一篇 深入Java開發:Token的全方位解析與實戰指南(上) 五、Token 的生命周期與管理 5.1 Token 的生命周期狀態 Token 的生命周期涵蓋了從創建到最終失效…

第二十四天(數據結構:棧和隊列)隊列實踐請看下一篇

棧和隊列棧 : 是限定在表尾進行插入和刪除操作的線性表實現是一回事,但是必須要滿足棧的基本特點它的設計思路是:先進后出,后進先出棧有兩端1 棧頂(top) :插入數據刪除數據都只能在這一端訪問也只能訪問棧頂2 棧底(bottom) : 棧底…

三、Spark 運行環境部署:全面掌握四種核心模式

作者:IvanCodes 日期:2025年7月25日 專欄:Spark教程 Apache Spark 作為統一的大數據分析引擎,以其高性能和靈活性著稱。要充分利用Spark的強大能力,首先需要根據不同的應用場景和資源環境,正確地部署其運行…

【Django】-2- 處理HTTP請求

一、request 請求 先理解:Request 是啥?用戶訪問你的網站時,會發一個 “請求包” 📦 ,里面裝著:想訪問啥路徑?用啥方法(GET/POST 等)?帶了啥頭信息&#xff0…

飛算 JavaAI:突破效率邊界的代碼智能構造平臺

飛算 JavaAI:突破效率邊界的代碼智能構造平臺 一、引言:數字化浪潮下的開發效率困局與破局路徑 當企業數字化轉型駛入深水區,軟件開發正面臨需求迭代頻次激增、人力成本高企、技術架構復雜化的多重挑戰。傳統開發模式中,從需求分…

國家科學技術獎答辯PPT案例_科技進步獎ppt制作_技術發明獎ppt設計美化_自然科學獎ppt模板 | WordinPPT

“國家科學技術獎”是在科學技術領域設立的最高榮譽,旨在獎勵在科學技術進步活動中做出突出貢獻的個人和組織,從而推動國家科學技術事業的發展,加快建設科技強國。科學技術獎是國內科技界的最高殿堂,是對做出杰出貢獻的科技工作者…

如何通過黑白棋盤進行定位配準融合?(前后安裝的兩個相機)

一.總結: 完整流程 :硬件準備 → 數據采集 → 空間統一 → 相機標定(內參畸變) → 外參求解 → 定位配準融合 → 校驗 → 生成映射表 → 上線remap驗證 我們場景流程 :硬件準備 → 數據采集 → 空間統一 → 定位配準融合 → …

【node】token的生成與解析配置

在用戶登錄成功之后為了記錄用戶的登錄狀態通常會將用戶信息編寫為一個token,通過解析token判斷用戶是否登錄。 token的生成 JSON Web Token(JWT) 是一種基于JSON的輕量級身份驗證和授權機制。它是一種開放標準(RFC 7519&#xff…

yolo 、Pytorch (5)IOU

一、簡介 IOU的全稱為交并比(Intersection over Union),是目標檢測中使用的一個概念,IoU計算的是“預測的邊框”和“真實的邊框”的交疊率,即它們的交集和并集的比值。最理想情況是完全重疊,即比值為1。 …

【銀河麒麟服務器系統】自定義ISO鏡像更新內核版本

自定義ISO鏡像更新內核版本 鏡像制作流程 環境 更新倉庫 準備新版本內核包 內核清單簡介 已下載軟件包版本 更新內核包 更新鏡像源 制作自動化鏡像 修改引導 修改UEFI引導 傳統引導 修改ks文件內容 打包鏡像 mkisofs參數說明 封裝鏡像命令 常見問題解決方案 鏡像制作流程 #merm…

JVM 調優中JVM的參數如何起到調優動作?具體案例,G1GC垃圾收集器參數調整建議

JVM調優參數 在JVM調優過程中,通過調整JVM參數可以優化Java應用程序的性能。不同的應用場景可能需要不同的調優策略和參數配置。下面將介紹幾個常見的調優場景以及相應的JVM參數設置,并給出具體案例說明。 1. 堆內存大小調整 問題描述:應用程…

TGD第十一篇:卷積神經網絡中的TGD特征

文章目錄一、直覺上重要的視覺特征二、視覺神經網絡首層試圖自主學習 TGD 算子權重2.1 AlexNet2.2 Vision Transformer2.3 MLPMixer三、針對直覺的驗證試驗3.1 小樣本集自然圖像分類任務3.2 小樣本集醫學圖像分割任務四、結語早在 2012 年,卷積神經網絡 AlexNet 就已…

【源力覺醒 創作者計劃】文心大模型開源:從封閉研發到生態共建的轉折點

前言 人工智能的浪潮在近幾年席卷全球,不僅顛覆了傳統技術路徑與行業習慣,更在大模型領域掀起了一場激烈的生態爭奪戰。自去年起,"百模大戰"的硝煙彌漫,微軟、谷歌、百度、阿里等科技巨頭紛紛入局,在大模型的…

思科 UCS Fabric Interconnect 和 UCS Manager 簡介

UCS Manager(UCSM)安裝在 Fabric Interconnect(FI)上,并且是UCS架構的集中管理平臺,允許你管理所有與計算、網絡和存儲相關的配置。1. UCS Manager 安裝位置UCS Manager 是在 UCS Fabric Interconnect&…

C語言結構體、位段、枚舉、聯合體

結構體&#xff1a;定義&#xff1a;結構體就是一堆值的集合初始化&#xff1a;#include<stdio.h> #include <stddef.h> struct S {char ch;int n; };int main() {struct S s1 { a, 5 };S s2{ b,6 };printf("s1 ch:%c , n:%d\n", s1.ch, s1.n);printf(&…