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