如何更改OCP與metadb集群的連接方式 —— OceanBase運維管理

背景

許多用戶都會借助OCP平臺來進行OceanBase集群的運維與監控,且因為考慮單節點的OCP部署,在遇故障時可能會短時間出現無法管控 OceanBase集群,多數用戶傾向于采用多節點方式來部署OCP,即 OCP的 metadb集群也是三節點的集群部署。

不過,在圖形化部署OCP平臺的時候,雖然OCP是多節點部署,OceanBase也是集群部署,但是也很容易造成單點故障。那就是OCP連接metadb的時候,因為本身不具備負載均衡能力,雖然在部署時部署了多個obproxy,但是實際OCP在連接metadb時,還是會只通過一個obproxy進行連接,而當這個obproxy出現故障時,OCP將無法連接metadb,導致OCP不可用。

因此就有了修改OCP連接metadb集群的需求,即在metadb的多個obproxy之上,通過搭建一個負載均衡,將OCP連接metadb的方式修改為連接 VIP 或者域名等方式,從而實現高可用。

實際修改連接方式,總共分三個步驟;

第一步:修改配置文件,修改OCP連接metadb的jdbc_url,然后填寫連接ocp_meta租戶和ocp_moniotr租戶的信息;

第二步:修改狀態文件,因為在第一步修改完配置文件之后,命令行提升可能需要重新部署(redeploy)集群,這個時候千萬不要按照提示重新部署,這會導致集群數據全部丟失,需要修改成狀態為NEED_RESTART;

第三步:帶參數重新啟動OCP集群。

下面就分步驟詳細介紹下:

修改配置文件

在配置文件中,只需要修改ocp-server-ce下面的內容,默認在配置文件中,是沒有關于OCP jdbc_url以及ocp_meta、ocp_monitor連接方式的配置,因此是需要將這些手動加上,默認配置大致文件如下:

ocp-server-ce:style: defaultpackage_hash: bd4512f9f708fb510d98f245b1be0b03a05e2cbaversion: 4.3.1release: 20240805192406.el7depends:- oceanbase-ce- obproxy-ceservers:- name: server2ip: 11.161.xx.xxglobal:home_path: /home/admin/ocpsoft_dir: /home/admin/ocp/softwarelog_dir: /home/admin/ocp/logsocp_site_url: http://11.161.xx.xx:8080port: 8080admin_password: xxxxxxmemory_size: 6Gmanage_info:machine: 10

首先,需要獲取jdbc_url相關信息,這個可以在部署OCP時使用的obd命令的日志中(默認在~/.obd/log目錄),過濾出jdbc_url信息,在日志里可以看到最初啟動OCP時,連接metadb使用的連接串。在獲取到這個連接串之后,將其修改為最新的 VIP 或者域名,填寫到配置文件里,例如VIP為10.10.10.10,我過濾出來的jdbc_url如下

jdbc_url: jdbc:oceanbase://11.161.xx.xx:2883/meta_database

修改jdbc_url為如下,然后填入到配置文件中

jdbc_url: jdbc:oceanbase://10.10.10.10:2883/meta_database

接著再將ocp_meta和ocp_monitor兩個租戶的連接信息填入配置文件,最終結果如下:

使用obd cluster edit-config <deploy_name> 來修改配置文件

ocp-server-ce:style: defaultpackage_hash: bd4512f9f708fb510d98f245b1be0b03a05e2cbaversion: 4.3.1release: 20240805192406.el7depends:- oceanbase-ce- obproxy-ceservers:- name: server2ip: 11.161.xx.xxglobal:home_path: /home/admin/ocpsoft_dir: /home/admin/ocp/softwarelog_dir: /home/admin/ocp/logsocp_site_url: http://11.161.xx.xx:8080port: 8080admin_password: xxxxxxmemory_size: 6Gmanage_info:machine: 10jdbc_url: jdbc:oceanbase://10.10.10.10:2883/meta_databaseocp_meta_tenant:tenant_name: ocp_metaocp_meta_username: root # User to use under ocp meta tenantocp_meta_password: xxxxxx # Password used to connect to ocp meta tenantocp_meta_db: meta_database # Database used to store ocp meta dataocp_monitor_tenant:tenant_name: ocp_monitorocp_monitor_username: root # User to use under ocp monitor tenantocp_monitor_password: xxxxxx # Password used to connect to ocp meta tenantocp_monitor_db: monitor_database # Database used to store ocp meta data

然后 :wq 保存退出

$obd cluster edit-config metadb
Search param plugin and load ok
Search param plugin and load ok
Parameter check ok
Save deploy "metadb" configuration
Use `obd cluster redeploy metadb` to make changes take effect.
Trace ID: b885716c-71a9-11ef-9ff0-00163e046d79
If you want to view detailed obd logs, please run: obd display-trace b885716c-71a9-11ef-9ff0-00163e046d79

這個時候,會提示你需要重新redeploy集群,不過千萬不要執行 obd cluster redeploy metadb 來重新部署,我們可以通過修改obd記錄的狀態文件,繞過這個redeploy,所以第二步,就是來修改這個狀態文件

修改狀態文件

默認狀態文件是在 ~/.obd/cluster/<deploy_name> 目錄下的 .data 這個文件,vim打開之后,關注config_status這個變量,可以看到當前狀態是NEED_REDEPLOY,需要將其修改為NEED_RESTART。

name: metadb
components:oceanbase-ce:hash: 736ac0f3379032dd41436c1b5a229f8d42b44e21version: 4.2.1.4obproxy-ce:hash: 0aed4b782120e4248b749f67be3d2cc82cdcb70dversion: 4.2.1.0ocp-server-ce:hash: bd4512f9f708fb510d98f245b1be0b03a05e2cbaversion: 4.3.1
status: STATUS_RUNNING
config_status: NEED_REDEPLOY

修改完之后,就可以使用命令行重啟集群

重啟集群

重啟集群時,使用 obd cluster restart <deploy_name> --wp 的方式進行重啟,--wp 的含義是?--with-parameter,即用于讓重啟生效的配置項生效。

重啟完成之后,此時 OCP 連接metadb的方式,就從原來的單一obproxy,修改為了通過10.10.10.10這個 VIP連接的方式了。

進一步,還可以進行測試,即任意關閉metadb的obproxy,看下OCP訪問是否出現斷開情況。

以上修改方式,都是基于OCP 4.2.x和4.3.x版本做的測試,未來相信官方也會對這塊進行優化,使 OCP 在安裝部署的時候,直接可以填寫 VIP 或者 域名,從而真正達到 OCP 的高可用。


OceanBase 云數據庫現已支持免費試用,現在申請,體驗分布式數據庫帶來全新體驗吧 ~

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

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

相關文章

SpringDoc【使用詳解】

SpringDoc使用詳解 一、何為SpringDoc二、概念解釋三、SpringDoc使用2.1簡單集成2.2 配置SpringDoc2.2.1 yml方式配置2.2.2配置文檔信息 2.3配置文檔分組2.4使用注解2.4.1 Tag2.4.2 Operation2.4.3 Schema2.4.4 NotNull2.4.5 Parameter2.4.6 Parameters2.4.7 ApiResponses 和Ap…

PHP 阿里云oss 使用指南

1.介紹 把圖片放到阿里云上的空間上&#xff0c;可以使用cdn加速。 可以在程序里直接調用 要使用阿里云 oss sdk &#xff0c;請先到阿里云下載 或用 copmposer 安裝 相關鏈接&#xff1a; 安裝OSS PHP SDK_對象存儲(OSS)-阿里云幫助中心 composer require aliyuncs/oss…

【AI提示詞】常青筆記生成器

提示說明 生成適用于多個場景和領域的常青筆記&#xff0c;滿足“常青筆記”的核心特性和結構。 提示詞 # 角色: 常青筆記生成器## 角色簡介: - 作者: xxx - 版本號: 1.0 - 更新時間: xxx - 語言: 中文## 定位: - &#x1f3af; 生成適用于多個場景和領域的常青筆記&#x…

在 Lua 中,`for` 和 `while` 是兩種核心的循環結構的詳細用法

在 Lua 中&#xff0c;for 和 while 是兩種核心的循環結構&#xff0c;用于實現重復執行邏輯。以下是它們的詳細用法、進階技巧及注意事項&#xff1a; 在 Lua 中&#xff0c;for 和 while 是兩種核心的循環結構的詳細用法—目錄 一、for 循環1. 數值 for 循環基礎語法&#xf…

A2DP(Advanced Audio Distribution Profile)是藍牙協議棧中用于音頻傳輸的一個標準化協議

A2DP&#xff08;Advanced Audio Distribution Profile&#xff09;是藍牙協議棧中用于音頻傳輸的一個標準化協議&#xff0c;主要用于高質量音頻流的無線傳輸。以下是A2DP協議的詳細信息&#xff1a; 定義 A2DP協議允許音源設備&#xff08;Source&#xff0c;簡稱SRC&#…

STM32_USB

概述 本文是使用HAL庫的USB驅動 因為官方cubeMX生成的hal庫做組合設備時過于繁瑣 所以這里使用某大神的插件,可以集成在cubeMX里自動生成組合設備 有小bug會覆蓋生成文件里自己寫的內容,所以生成一次后注意保存 插件安裝 下載地址 https://github.com/alambe94/I-CUBE-USBD-Com…

【文獻閱讀】Capabilities of Gemini Models in Medicine

? Google DeepMind Google Research 發表于 2024-04-29 相關鏈接&#xff1a; 數據集&#xff1a;https://huggingface.co/datasets/katielink/med-gemini-medqa-relabeled 注&#xff1a;長EHR是長的電子健康記錄&#xff08;Electronic Health Record&#xff09; 未開…

網絡安全小知識課堂(最終完結版)

網絡安全入門 &#xff1a;從 “小白” 到 “守護者” 的蛻變之旅 寫在完結之際 歷經 13 篇的深度探索&#xff0c;我們從 DDoS 攻擊的 “流量洪水” 一路闖關到 HTTPS 的 “加密堡壘”&#xff0c;揭開了網絡安全世界的層層面紗。感謝每一位讀者的陪伴與互動&#xff0c;你們…

Php laravel 留言板 curd 實戰

1. 項目創建 首先我們用composer創建項目 &#xff0c; composer會根據當前的php版本 幫我們選擇支持的最高版本 composer create-project --prefer-dist laravel/laravel myblog laravel新版本比較激進 &#xff0c;需要最低 php7 支持 2. 項目配置 數據庫配置 &#xff0c…

HTTP 壓力測試工具autocannon(AI)

簡介 autocannon 是一款基于 Node.js 的高性能 HTTP 壓力測試工具&#xff0c;適用于評估 Web 服務的并發處理能力和性能瓶頸。 一、工具特點 高性能?&#xff1a;利用 Node.js 異步非阻塞機制模擬高并發請求?。?實時監控?&#xff1a;測試過程中動態展示請求統計和性能…

LVM 擴容詳解

目錄 一、LVM擴容 1. 查看磁盤分區情況&#xff1a; 2. 查看pv、vg、lv 情況 3. 將新硬盤分區初始化 4. 將初始化后的分區添加到VG中 5. 查看邏輯卷的設備路徑 6. VG分配給lv 二、擴展文件系統 1.確認文件系統類型 三、檢驗 一、LVM擴容 1. 查看磁盤分區情況&#xff1a; …

每日一題(小白)數組娛樂篇21

由于題意可知我們是要將對應的數字轉換為英文&#xff0c;我們要考慮兩點一個是進制的轉換&#xff0c;也就是類似于我們的十進制一到9就多一位&#xff0c;這里的進制就是Z進制也就是27進制一旦到26下一位則進位&#xff1b;另一方面要考慮數字的轉換也就是1~26對應A~Z。解決上…

python爬蟲:喜馬拉雅案例(破解sign值)

聲明&#xff1a; 本文章中所有內容僅供學習交流使用&#xff0c;不用于其他任何目的&#xff0c;嚴禁用于商業用途和非法用途&#xff0c;否則由此產生的一切后果均與作者無關&#xff01; 根據上一篇文章&#xff0c;我們破解了本網站的&#xff0c;手機號和密碼驗證&#x…

深入探討:Spring 如何接入 DeepSeek?

?在當今數字化浪潮中&#xff0c;人工智能&#xff08;AI&#xff09;技術的迅猛發展深刻地改變著各個領域的技術格局。Java 作為一種廣泛應用于企業級開發的編程語言&#xff0c;其生態系統也在不斷演進以適應 AI 技術的融入。Spring 框架&#xff0c;作為 Java 生態中的中流…

VSCode運行,各類操作緩慢,如何清理

VSCode寫代碼&#xff0c;隨著項目逐步進展&#xff0c;代碼量在增加&#xff0c;依賴的第三方頭文件也在增加&#xff0c; 先是發現代碼提示的速度變慢&#xff0c; 后來格式化代碼速度太慢 然后c/c代碼的語法檢查有時候壓根就失敗&#xff0c;來個錯誤提示 還有source contro…

Elasticsearch:加快 HNSW 圖的合并速度

作者&#xff1a;來自 Elastic Thomas Veasey 及 Mayya Sharipova 過去&#xff0c;我們曾討論過搜索多個 HNSW 圖時所面臨的一些挑戰&#xff0c;以及我們是如何緩解這些問題的。當時&#xff0c;我們也提到了一些計劃中的改進措施。本文正是這項工作的成果匯總。 你可能會問…

人事|人事管理系統|基于Springboot+vue的人事管理系統設計與實現(源碼+數據庫+文檔)

人事管理系統 目錄 基于Springboot的人事管理系統設計與實現 一、前言 二、系統功能設計 三、系統實現 1、管理員登錄 2、員工管理 3、公告信息管理 4、公告類型管理 5、培訓管理 6、培訓類型管理 四、數據庫設計 1、實體ER圖 五、核心代碼 六、論文參考 七、最新…

2.4GHz射頻前端噪聲系數優化架構

2.4GHz射頻前端電路架構由信號處理鏈路、硬件模塊及性能規范構成&#xff0c;其系統組成與參數要求如下&#xff1a; 一、信號發射鏈路? 數字基帶信號通過DAC轉換為模擬信號? 調制電路將信號加載至本地振蕩器生成的2.4GHz載波? 功率放大器將信號強度提升至20-25dBm范圍? …

開源 LLM 應用開發平臺 Dify 全棧部署指南(Docker Compose 方案)

開源 LLM 應用開發平臺 Dify 全棧部署指南&#xff08;Docker Compose 方案&#xff09; 一、部署環境要求與前置檢查 1.1 硬件最低配置 組件要求CPU雙核及以上內存4GB 及以上磁盤空間20GB 可用空間 1.2 系統兼容性驗證 ? 官方支持系統&#xff1a; Ubuntu 20.04/22.04 L…

Trae AI 保姆級教程:從安裝到調試全流程指南

Trae AI 保姆級教程&#xff1a;從安裝到調試全流程指南 Trae AI 是字節跳動推出的一款 AI 原生集成開發環境(IDE)&#xff0c;專為中文開發者設計&#xff0c;集成了 Claude 3.5 和 GPT-4o 等先進 AI 模型&#xff0c;支持通過自然語言交互實現代碼生成、項目構建與調試。本教…