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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

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

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

OceanBase提供多種數(shù)據(jù)庫(kù)集群部署方式,之前我也有分享手動(dòng)部署的方式,通過手工部署方式,可以了解OB集群的運(yùn)行邏輯并在錯(cuò)誤出現(xiàn)時(shí)及時(shí)手工處理。

今天這篇文章,我們來分享一下如何《使用 OBD 自動(dòng)化部署多節(jié)點(diǎn)集群》。

有關(guān)手動(dòng)部署的步驟及注意事項(xiàng),請(qǐng)參考如何手動(dòng)部署 OceanBase集群 。

1.集群規(guī)劃

有關(guān)集群功能的劃分,我們?nèi)匀环弥暗囊?guī)劃信息。

1.1 集群角色劃分

本次部署 OceanBase 三節(jié)點(diǎn)集群,三節(jié)點(diǎn)每個(gè)節(jié)點(diǎn)占用一臺(tái)服務(wù)器部署observer;**另外單獨(dú)采用一臺(tái)服務(wù)器作為中控機(jī);**通過中控機(jī)直接遠(yuǎn)程登錄到 OceanBase 節(jié)點(diǎn)上部署啟動(dòng) observer 進(jìn)程,并在中控機(jī)上部署 obproxy 進(jìn)程。架構(gòu)圖如下:

1.2 機(jī)器劃分

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

有關(guān)服務(wù)器參數(shù)設(shè)置、SSH互信設(shè)置、時(shí)間同步等設(shè)置方法,全部參考手動(dòng)部署的內(nèi)容即可。

3.使用 OBD 自動(dòng)化部署多節(jié)點(diǎn)集群

3.1 下載并安裝OBD

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


下載完成后,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 編寫初始化配置文件

根據(jù)上面設(shè)置的IP和主機(jī)功能,我在中控機(jī)上創(chuàng)建了如下的初始化配置文件:

[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 執(zhí)行集群初始化

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

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

[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

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

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

3.4 啟動(dòng)集群并自舉

采用obd命令,啟動(dòng)集群和自舉一氣呵成:

[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集群?jiǎn)?dòng)和自舉屬于自動(dòng)操作,基本不需要干預(yù)。

3.5 連接集群查看

在執(zhí)行完上面的N個(gè)步驟后,OB的服務(wù)組件均已經(jīng)啟動(dòng)起來了,這里啟動(dòng)了一個(gè)單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]>

這里還需要注意兩點(diǎn):
1.如果你有看官網(wǎng)的登錄選項(xiàng),會(huì)看到在租戶后面增加了集群名稱,默認(rèn)情況下,在服務(wù)器上直接登錄需要去掉,否則會(huì)報(bào) access denied 錯(cuò)誤;
2.我這里配置文件有設(shè)置密碼,所以登錄的時(shí)候采用 -proot 將密碼傳了進(jìn)去,如果你的密碼不一樣,請(qǐng)自行修改。

4.寫在最后

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

最后,如果覺得文章對(duì)您有幫助,請(qǐng)給博主點(diǎn)贊、收藏、關(guān)注,博主會(huì)不斷推出更多優(yōu)質(zhì)的文章。
?
?

?

?

總結(jié)

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

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。