日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

OceanBase使用 OBD 自动化部署多节点集群

發布時間:2023/12/16 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 OceanBase使用 OBD 自动化部署多节点集群 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

OceanBase提供多種數據庫集群部署方式,之前我也有分享手動部署的方式,通過手工部署方式,可以了解OB集群的運行邏輯并在錯誤出現時及時手工處理。

今天這篇文章,我們來分享一下如何《使用 OBD 自動化部署多節點集群》。

有關手動部署的步驟及注意事項,請參考如何手動部署 OceanBase集群 。

1.集群規劃

有關集群功能的劃分,我們仍然服用之前的規劃信息。

1.1 集群角色劃分

本次部署 OceanBase 三節點集群,三節點每個節點占用一臺服務器部署observer;**另外單獨采用一臺服務器作為中控機;**通過中控機直接遠程登錄到 OceanBase 節點上部署啟動 observer 進程,并在中控機上部署 obproxy 進程。架構圖如下:

1.2 機器劃分

官方建議的機器可用內存最好是8G以上,所以我這里4臺機器均分配了10G的虛擬內存。CPU是每個虛擬機2個虛擬核心。它們的角色分配如下:

有關服務器參數設置、SSH互信設置、時間同步等設置方法,全部參考手動部署的內容即可。

3.使用 OBD 自動化部署多節點集群

3.1 下載并安裝OBD

首先如果我們的中控機上沒有obd軟件,我們需要先從官網下載并安裝:


下載完成后,rpm一鍵安裝即可:

[admin@obproxy ~]$ sudo rpm -ivh ob-deploy-1.3.0-8.el7.x86_64.rpm Preparing... ################################# [100%] Updating / installing...1:ob-deploy-1.3.0-8.el7 ################################# [100%] Installation of obd finished successfully Please source /etc/profile.d/obd.sh to enable it

將obd.sh配置到.bashrc并生效

[admin@obproxy ~]$ cat .bashrc # .bashrc# Source global definitions if [ -f /etc/bashrc ]; then. /etc/bashrc fi# Uncomment the following line if you don't like systemctl's auto-paging feature: # export SYSTEMD_PAGER=# User specific aliases and functionsisource /etc/profile.d/obd.sh [admin@obproxy ~]$ source .bashrc

3.2 編寫初始化配置文件

根據上面設置的IP和主機功能,我在中控機上創建了如下的初始化配置文件:

[admin@obproxy ~]$ cat init.yaml user:username: adminpassword: adminoceanbase-ce:servers:- name: server1ip: 10.211.55.55- name: server2ip: 10.211.55.56- name: server3ip: 10.211.55.57global:devname: eth0cluster_id: 1memory_limit: 8Gsystem_memory: 4Gstack_size: 512Kcpu_count: 12cache_wash_threshold: 1G__min_full_resource_pool_memory: 268435456workers_per_cpu_quota: 10schema_history_expire_time: 1dnet_thread_count: 4major_freeze_duty_time: Disableminor_freeze_times: 10enable_separate_sys_clog: 0enable_merge_by_turn: FALSEdatafile_disk_percentage: 20syslog_level: INFOenable_syslog_wf: falseenable_syslog_recycle: truemax_syslog_file_count: 4root_password: rootproxyro_password: proxyroserver1:mysql_port: 2881rpc_port: 2882home_path: /home/admin/observerdata_dir: /datazone: zone1server2:mysql_port: 2881rpc_port: 2882home_path: /home/admin/observerdata_dir: /datazone: zone2server3:mysql_port: 2881rpc_port: 2882home_path: /home/admin/observerdata_dir: /datazone: zone3obproxy:depends:- oceanbase-ceservers:- 10.211.55.54global:listen_port: 2883prometheus_listen_port: 2884home_path: /home/admin/obproxyenable_cluster_checkout: falseskip_proxy_sys_private_check: trueobproxy_sys_password: sysobserver_sys_password: proxyro

3.3 執行集群初始化

配置文件準備好后,接下來,需要做的就是一鍵部署集群了:

您可使用命令 obd cluster deploy [集群名] -c 集群配置文件 進行部署。

[admin@obproxy ~]$ obd cluster deploy ob-chris -c init.yaml oceanbase-ce-3.1.3 already installed. +-------------------------------------------------------------------------------------------+ | Packages | +--------------+---------+-----------------------+------------------------------------------+ | Repository | Version | Release | Md5 | +--------------+---------+-----------------------+------------------------------------------+ | oceanbase-ce | 3.1.3 | 10000292022032916.el7 | eab08e5d473bd4884fdf2ac4d7dff6a329b68abe | +--------------+---------+-----------------------+------------------------------------------+ Repository integrity check ok Parameter check ok Open ssh connection ok Remote oceanbase-ce-3.1.3-eab08e5d473bd4884fdf2ac4d7dff6a329b68abe repository install ok Remote oceanbase-ce-3.1.3-eab08e5d473bd4884fdf2ac4d7dff6a329b68abe repository lib check ok Cluster status check ok Initializes observer work home ok ob-chris deployed

部署完成后,可以通過如下命令檢查集群部署狀態:

[admin@obproxy ~]$ obd cluster list +----------------------------------------------------------------+ | Cluster List | +----------+-----------------------------------+-----------------+ | Name | Configuration Path | Status (Cached) | +----------+-----------------------------------+-----------------+ | ob-chris | /home/admin/.obd/cluster/ob-chris | deployed | +----------+-----------------------------------+-----------------+

3.4 啟動集群并自舉

采用obd命令,啟動集群和自舉一氣呵成:

[admin@obproxy ~]$ obd cluster list +----------------------------------------------------------------+ | Cluster List | +----------+-----------------------------------+-----------------+ | Name | Configuration Path | Status (Cached) | +----------+-----------------------------------+-----------------+ | ob-chris | /home/admin/.obd/cluster/ob-chris | deployed | +----------+-----------------------------------+-----------------+ [admin@obproxy ~]$ obd cluster start ob-chris Get local repositories and plugins ok Open ssh connection ok Load cluster param plugin ok Check before start observer ok [WARN] (10.211.55.55) clog and data use the same disk (/) [WARN] (10.211.55.56) clog and data use the same disk (/) [WARN] (10.211.55.57) clog and data use the same disk (/)Check before start obproxy ok Start observer ok observer program health check ok Connect to observer ok Initialize cluster Cluster bootstrap ok Wait for observer init ok +------------------------------------------------+ | observer | +--------------+---------+------+-------+--------+ | ip | version | port | zone | status | +--------------+---------+------+-------+--------+ | 10.211.55.55 | 3.1.3 | 2881 | zone1 | active | | 10.211.55.56 | 3.1.3 | 2881 | zone2 | active | | 10.211.55.57 | 3.1.3 | 2881 | zone3 | active | +--------------+---------+------+-------+--------+Start obproxy ok obproxy program health check ok Connect to obproxy ok Initialize cluster +------------------------------------------------+ | obproxy | +--------------+------+-----------------+--------+ | ip | port | prometheus_port | status | +--------------+------+-----------------+--------+ | 10.211.55.54 | 2883 | 2884 | active | +--------------+------+-----------------+--------+ ob-chris running

通過上面的日志記錄可以看到,obd集群啟動和自舉屬于自動操作,基本不需要干預。

3.5 連接集群查看

在執行完上面的N個步驟后,OB的服務組件均已經啟動起來了,這里啟動了一個單obproxy+3 observer的集群,下面我們嘗試使用mysql/obclient客戶端登錄:

MySQL客戶端登錄:

[admin@obproxy ~]$ mysql -h 10.211.55.54 -uroot@sys -P2883 -proot -c -A oceanbase Welcome to the MariaDB monitor. Commands end with ; or \g. Your MySQL connection id is 2097153 Server version: 5.6.25 OceanBase 3.1.3 (r10000292022032916-3d79cacb37012cf61b7cb8faf00d9a6bb152bcd1) (Built Mar 29 2022 08:20:39)Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.MySQL [oceanbase]>

obclient客戶端登錄:

[admin@observer1 ~]$ obclient -h 10.211.55.54 -uroot@sys -P2883 -proot -c -A oceanbase Welcome to the OceanBase. Commands end with ; or \g. Your MySQL connection id is 16 Server version: 5.6.25 OceanBase 3.1.3 (r10000292022032916-3d79cacb37012cf61b7cb8faf00d9a6bb152bcd1) (Built Mar 29 2022 08:20:39)Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.MySQL [oceanbase]>

這里還需要注意兩點:
1.如果你有看官網的登錄選項,會看到在租戶后面增加了集群名稱,默認情況下,在服務器上直接登錄需要去掉,否則會報 access denied 錯誤;
2.我這里配置文件有設置密碼,所以登錄的時候采用 -proot 將密碼傳了進去,如果你的密碼不一樣,請自行修改。

4.寫在最后

至此為止,obd部署OceanBase集群的分享結束,歡迎大家添加博主交流。

最后,如果覺得文章對您有幫助,請給博主點贊、收藏、關注,博主會不斷推出更多優質的文章。
?
?

?

?

總結

以上是生活随笔為你收集整理的OceanBase使用 OBD 自动化部署多节点集群的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。