https://edu.aliyun.com/lab/courses/f872323bb73a49d4b14ab7b801b3ad86/detail?purchaseRecordId=d288f91e20774539a77e41a89880711d&spm=5176.12901015.0.i12901015.5d39525c5k990T
但是要89塊大洋,而且只有三個(gè)小時(shí)的實(shí)驗(yàn)時(shí)間,雖然時(shí)間足夠,但是對(duì)于第一次部署的童鞋只要遇到一些坎,就可能在三小時(shí)內(nèi)實(shí)驗(yàn)不完,不過部署手冊(cè)的資料是一直可以學(xué)習(xí)的,可以熟悉之后再去動(dòng)手。(ps:阿里云實(shí)驗(yàn)環(huán)境的環(huán)境比較理想,所以安裝遇到的問題很少,后續(xù)我會(huì)為大家再奉獻(xiàn)一篇本地部署的時(shí)候踩過的坑)
檢查主機(jī)環(huán)境劃分存儲(chǔ)->服務(wù)器環(huán)境配置->ocp部署->通過ocp部署OB集群->創(chuàng)建租戶
1. 主機(jī)環(huán)境:
存儲(chǔ)劃分:
OCP 服務(wù)器 :
200G, 給/docker 使用
OBserver服務(wù)器存儲(chǔ)劃分,操作與OCP類似:
在每臺(tái)服務(wù)器的/root目錄下創(chuàng)建 t-oceanbase-antman 目錄,并將相應(yīng)的安裝包上傳到該目錄。
1)在 OCP 與 OceanBase 的服務(wù)器上都安裝自動(dòng)化部署工具,例如:
2)為每臺(tái)服務(wù)器都添加 admin 用戶 :
#cd /root/t-oceanbase-antman/clonescripts
#./clone.sh -u
默認(rèn)密碼是 admin, 建議立刻修改。
3)對(duì)每臺(tái)服務(wù)器的操作系統(tǒng)內(nèi)核進(jìn)行設(shè)置 :
#cd /root/t-oceanbase-antman/clonescripts
OCP 服務(wù)器:# ./clone.sh -r ocp -c
OceanBase 服務(wù)器:# ./clone.sh -r ob -c
4)安裝依賴包
OCP 服務(wù)器:# ./clone.sh -r ocp -m
OceanBase 服務(wù)器:# ./clone.sh -r ob -m
5)配置 NTP 時(shí)鐘同步,保證所有節(jié)點(diǎn)的時(shí)鐘偏差在 100ms 以內(nèi)
restrict 172.18.0.0 mask 255.255.0.0 nomodify
server 127.127.1.0
fudge 127.127.1.0 stratum 10
server 172.18.6.38
fudge 172.18.6.38 stratum 10
6)在 ocp服務(wù)器上安裝 docker
7)部署前環(huán)境檢查
OCP 服務(wù)器:sh precheck.sh -m ocp
OceanBase 服務(wù)器:sh precheck.sh -m ob
OCP 有單節(jié)點(diǎn)和三節(jié)點(diǎn)兩種部署模式,在實(shí)驗(yàn)環(huán)境中,我們使用單節(jié)點(diǎn)模式。
# cd /root/t-oceanbase-antman
#bash init_obcluster_conf.sh
填寫正確 OCP 服務(wù)器的 ip、root 和 admin 用戶的密碼。單節(jié)點(diǎn)的負(fù)載均衡模式是 none。(云主機(jī)可以填寫私網(wǎng) ip, OCP 和 Observer 之間全部使用私網(wǎng) IP 通信)
下面配置 OCP 服務(wù)器上各個(gè) Docker 的資源( OCP Docker, OB Docker, OBProxy Docker) , 默認(rèn)可能是以下配置:
因?yàn)槲覀兊脑浦鳈C(jī)總?cè)萘渴?16C64G,650GB 磁盤, 所以采用以下配置:
OB_docker_cpus=16 , OB_docker_memory=60G
OCP_docker_cpus=8 , OCP_docker_memory=16G
OBProxy_docker_cpus=4 , OBProxy_docker_memory=2G
詳情見前面 章節(jié)的描述。
另外是修改安裝軟件的版本信息,根據(jù)你獲得的實(shí)際軟件的情況修改: (以下樣例針對(duì)的是前面章節(jié)中列出的安裝文件對(duì)應(yīng)的信息)
image_package填寫你獲得安裝軟件的名稱,例如:
ob-docker2273_202101.tar.gz
obproxy-docker173_20200603.tar.gz
ocp-all-in-one251-20210223.tar.gz
REPO 和 TAG 可以填寫如下的信息:
reg.docker.alibaba-inc.com/antman/ob-docker:OB2273_x86_20201214
reg.docker.alibaba-inc.com/antman/obproxy:OBP173_20200603_1923
reg.docker.alibaba-inc.com/oceanbase/ocp-all-in-one:2.5.1-1922379
完成配置后進(jìn)行保存。 OCP的配置文件在/root/t-oceanbase-antman 目錄下, 2.X 版本的名稱是 obcluster.conf,也可以手工進(jìn)行修改。
另外我們的云主機(jī)是用的最小資源(16C64G,650GB),所以我們需要額外的多做一些配置。(生產(chǎn)環(huán)境標(biāo)準(zhǔn)配置不需要做以下這些)
我們需要將sys(500租戶)默認(rèn)的 50G 內(nèi)存,改為 15G, 修改 install_OB_docker.sh
76行和100行(請(qǐng)注意要修改的是兩行):
-e OPTSTR="cpu_count=$OB_docker_cpus,memory_limit=$OB_docker_memory,__min_full_resource_pool_memory=1073741824,_ob_enable_prepared_statement=false,memory_limit_percentage=90"
改成
-e OPTSTR="cpu_count=$OB_docker_cpus,memory_limit=$OB_docker_memory,__min_full_resource_pool_memory=1073741824,_ob_enable_prepared_statement=false,memory_limit_percentage=90,system_memory=15G"
另外新版本的 install.sh 文件會(huì)檢查 system_memory, 我們需要注釋掉檢查的這一行:
修改install.sh , 注釋掉1330行
# system_memory is 50G default
#[ "${OB_docker_memory%G}" -lt 64 ] && { antman_log "docker ob default system_memory is 50G, docker memory limit(${OB_docker_memory}) too small." "ERROR"; exit 1; }
可以先查看一下 OCP 部署的命令幫助
# cd /root/t-oceanbase-antman
# ./install.sh -h
可以看到 OCP 的安裝需要 8 steps 。下面執(zhí)行 OCP 安裝
看到以上信息,表示 OCP 部署已完成。如果中間失敗,可以根據(jù)提示解決問題,然后再次從失敗的step 再次執(zhí)行。(如果要回退或卸載 OCP,使用 ./install.sh -c 1-X )
OCP 的訪問地址: http://
默認(rèn)用戶名 admin, 密碼 root。
打開 ocp的 web 管理頁面后, 就有一個(gè)集群和 3 個(gè)租戶存在。(見前面章節(jié)的描述)
下面可以通過 OCP 完成“添加主機(jī)“,“創(chuàng)建 OB 集群”,”部署 OBProxy”三個(gè)步驟。
首先添加主機(jī),將 3 臺(tái) oceanbase 服務(wù)器主機(jī)添加進(jìn)來。這里可以設(shè)置服務(wù)器型號(hào),所在機(jī)房和區(qū)域等。
這里要填寫機(jī)型、機(jī)房/區(qū)域等信息, 如果在生產(chǎn)環(huán)境, 應(yīng)該根據(jù)是實(shí)際情況填寫。例如生產(chǎn)環(huán)境有 100多臺(tái)服務(wù)器, 有浪潮、聯(lián)想、阿里、華為不同品牌,那就創(chuàng)建不同的機(jī)型。生產(chǎn)環(huán)境是三地五中心 (北京:西單、上地, 杭州:西湖區(qū)、余杭區(qū), 深圳:前海) , 就按照實(shí)際情況創(chuàng)建機(jī)房(idc)/區(qū)域(region)等。
在實(shí)驗(yàn)練習(xí)環(huán)境, 你可以根據(jù)自己的想象構(gòu)建一個(gè)虛擬業(yè)務(wù)環(huán)境,用以模擬生產(chǎn)的環(huán)境。例如 3 臺(tái)服務(wù)器,1 臺(tái)型號(hào)是阿里的,部署在杭州西湖區(qū), 2 臺(tái)型號(hào)是浪潮,部署在杭州余杭區(qū)。
選擇憑據(jù):這里其實(shí)就是寫主機(jī)的登錄用戶信息,大家選擇創(chuàng)建一個(gè)憑據(jù),然后選擇 root 用戶,輸入你的幾臺(tái) OB 服務(wù)器 root 用戶的密碼。
2. 創(chuàng)建 OB 集群
創(chuàng)建 OB 集群,按照要求的填寫好相應(yīng)信息。
創(chuàng)建集群的時(shí)候設(shè)置 primary zone 的優(yōu)先級(jí),這里的設(shè)定是給 sys 租戶的。新版本只允許primaryzone有 1 臺(tái)服務(wù)器。
在實(shí)驗(yàn)環(huán)境(4C16G)的上面部署 OB 集群,需要限制資源的使用, 打開下面的“高級(jí)設(shè)置”,并且填寫以下的參數(shù)(生產(chǎn)環(huán)境一般不需要):
memory_limit = 15G;
system_memory = 5G;
cpu_count=32;
__min_full_resource_pool_memory=2147483648;
cache_wash_threshold=2GB;
net_thread_count=8;
workers_per_cpu_quota=4;
stack_size = 512K;
提交后可以到任務(wù)中查看部署進(jìn)展,如果在某一步遇到問題,可以點(diǎn)擊“查看日志”.
小 Tips:
如果 OB 部署出現(xiàn)一些基礎(chǔ)問題,例如說的磁盤掛載點(diǎn)沒有配置好。可以采用以下的步驟:
在生產(chǎn)環(huán)境,OBProxy 可能需要獨(dú)立部署。在實(shí)驗(yàn)練習(xí)環(huán)境,我們將 oceanbase 和 OBProxy 部署在一起。可以在 3 臺(tái) OB 上都部署一個(gè) OBProxy.
3. OCP 頁面添加 OBProxy 集群
訪問地址參數(shù):在生產(chǎn)環(huán)境, 多臺(tái) obporxy 前可以有一個(gè) F5均衡, F5均衡對(duì)外提供一個(gè) ip地址,這里的訪問地址參數(shù)就是F5 對(duì)外的 IP。我們實(shí)驗(yàn)環(huán)境沒有 F5,那就選擇一個(gè) obproxy 的地址填寫即可。
實(shí)驗(yàn)環(huán)境中需要打開一個(gè) OCP 的開關(guān)
因?yàn)橐?guī)格過小的租戶產(chǎn)生了很多不必要的問題,所以 OB 與 OCP 上都對(duì)租戶的規(guī)格做了限制。
OB 的 2.X 版本之后,默認(rèn)只能創(chuàng)建 5G 以上的租戶。在我們實(shí)驗(yàn)環(huán)境創(chuàng)建集群的時(shí)候,我們將這個(gè)限制參數(shù)調(diào)整成了 2G,也就是可以創(chuàng)建 2G 的租戶。(見前面章節(jié)部署 OB 集群的參數(shù)設(shè)置)
最新的OCP2.5版本在創(chuàng)建租戶時(shí)進(jìn)行自定義 Unit規(guī)格,默認(rèn)將小于 5G 內(nèi)存的 unit 屏蔽了,因?yàn)樯a(chǎn)環(huán)境中創(chuàng)建過小的資源用戶產(chǎn)生了很多不必要的問題。在 OCP 2.5.1之后增加了一個(gè)開關(guān),打開該開關(guān)后在 OCP 上小于 5G 的 unit 才會(huì)顯示出來。(該操作僅限于演示或?qū)嶒?yàn)環(huán)境)
首先需要獲得 OCP 所使用的metadb數(shù)據(jù)庫的登錄密碼:
登錄到 OCP 的 metadb 數(shù)據(jù)庫, 并打開開關(guān) :
update config_properties set value=true where `key` like %small% ; <----將這個(gè)開關(guān)打開 。
云主機(jī)(4C16G)的請(qǐng)注意以下事項(xiàng):
2)sys管理租戶(ID1 租戶)占用內(nèi)存2.5G, 可以再降低到 2G,再釋放0.5, 這樣的話可以再多創(chuàng)建一個(gè)2G 的普通租戶。(可選)
白屏中看管理 sys 租戶的資源,可以在白屏直接修改
也可以在黑屏中修改:
在白屏界面上可以直接創(chuàng)建租戶,也可以使用命令在黑屏創(chuàng)建租戶, 黑屏創(chuàng)建租戶樣例:
創(chuàng)建 unit(5C2G):
創(chuàng)建 resource pool:
創(chuàng)建租戶:
創(chuàng)建Oracle 租戶:
在黑屏創(chuàng)建好租戶后,在 OCP 白屏也會(huì)看得到,不過同步需要一點(diǎn)點(diǎn)時(shí)間。
OceanBase 的基礎(chǔ)安裝和配置基本就完成了,下面大家可以開始其它的實(shí)驗(yàn)練習(xí)了。
補(bǔ)充:云主機(jī)實(shí)驗(yàn)環(huán)境,在 sys 租戶下執(zhí)行這兩個(gè)命令。因?yàn)槲覀儗?shí)驗(yàn)環(huán)境留給log的空間比較小,避免被 log日志塞滿。以下兩條命令是啟動(dòng)日志文件循環(huán),并且只保留 10 個(gè)日志文件。
alter system set enable_syslog_recycle=true;
OceanBase的安裝部署還是很簡(jiǎn)單的,尤其是現(xiàn)在官方提供了比較詳細(xì)的資料,但是實(shí)驗(yàn)環(huán)境比較理想,實(shí)際環(huán)境中安裝還是會(huì)遇到各種問題,大家有機(jī)會(huì)可以自己搭建下對(duì)于理解OB的架構(gòu)有些幫助,下次給大家分享我遇到的一些小問題及解決方法。實(shí)驗(yàn)環(huán)境一般也不會(huì)部署oms遷移工具,后續(xù)我會(huì)給大家介紹下通過dbcat+datax從oracle遷移數(shù)據(jù)到OB。
努力晨昏事,躬行味始長(zhǎng) --諸位共勉。
更多精彩干貨分享
點(diǎn)擊下方名片關(guān)注
IT那活兒
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/129864.html
摘要:技術(shù)成就劃時(shí)代的分布式數(shù)據(jù)庫通過核心業(yè)務(wù)的不斷上線,螞蟻金服幫助渡過了自研基礎(chǔ)軟件產(chǎn)品最艱難的應(yīng)用關(guān)。年天貓雙十一,支付寶創(chuàng)造了萬筆每秒支付峰值的業(yè)界新紀(jì)錄,這對(duì)于數(shù)據(jù)庫來說,意味著每秒需要同時(shí)運(yùn)行萬條。 技術(shù)成就:劃時(shí)代的分布式數(shù)據(jù)庫 通過核心業(yè)務(wù)的不斷上線,螞蟻金服幫助OceanBase渡過了自研基礎(chǔ)軟件產(chǎn)品最艱難的應(yīng)用關(guān)。OceanBase不只是被研發(fā)出來的,更是被用出來的,是在...
摘要:小螞蟻說相信大家對(duì)螞蟻金服自主研發(fā)的金融級(jí)分布式關(guān)系數(shù)據(jù)庫的故事不再陌生了。文末有彩蛋在普通硬件上提供極限性能的數(shù)據(jù)庫服務(wù)是完全自主研發(fā)的金融級(jí)分布式關(guān)系數(shù)據(jù)庫,從架構(gòu)上可以通過擴(kuò)展機(jī)器來解決集群服務(wù)能力的擴(kuò)展需求。 小螞蟻說:相信大家對(duì)螞蟻金服自主研發(fā)的金融級(jí)分布式關(guān)系數(shù)據(jù)庫OceanBase的故事不再陌生了。在剛剛過去的2018年天貓雙11中,成交額2135億再次創(chuàng)造了新紀(jì)錄,而支...
閱讀 1346·2023-01-11 13:20
閱讀 1684·2023-01-11 13:20
閱讀 1132·2023-01-11 13:20
閱讀 1858·2023-01-11 13:20
閱讀 4100·2023-01-11 13:20
閱讀 2704·2023-01-11 13:20
閱讀 1385·2023-01-11 13:20
閱讀 3597·2023-01-11 13:20