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