張小白參加過openGauss的訓練營:

還獲得過OGCA的證書:

還在openGauss開源網站捉過蟲,提過PR。
當然,那是openGauss 2.0時代的事情了。
隨著openGauss 3.0的推出,openGauss的商業版MogDB 3.0也推出了。作為一名企業的技術人員,張小白深知:如果是自己以學習的目的,當然直接學習openGauss就可以了,但是如果給自己的企業搭建環境,考慮商業版軟件是對自己工作負責,也是對客戶負責的事情。所以,學習MogDB也變成了張小白的一個自然的選擇。
打開MogDB的官網:https://www.mogdb.io/

點擊上面的”下載“按鈕,可以切換到下載頁面:

再點擊下載:

可以看到有PTK下載和介質下載兩種模式。
我們看一下MogDB的操作系統要求,打開 https://docs.mogdb.io/zh/ptk/v0.2/overview 可以看到支持PTK的操作系統如下:

有CentOS7,也有Ubuntu 18.
這兩套環境張小白都有虛擬機。
那先試試ubuntu 18.04行不行吧!
看前面一張圖的在線安裝過程,先安裝ptk,然后制作配置文件,最后使用ptk安裝。
具體來試一試吧!
先切換到root環境
安裝ptk:
curl --proto '=https' --tlsv1.2 -sSf https://cdn-mogdb.enmotech.com/ptk/install.sh | sh

當然首先應該安裝curl:
apt install curl

再來:
curl --proto '=https' --tlsv1.2 -sSf https://cdn-mogdb.enmotech.com/ptk/install.sh | sh

好快!
根據提示,source /root/.bashrc

第二步,生成config文件:
ptk template --local > config.yaml

打開看看:

從上面可以看出,它cluster名稱為 cluster_khasmine,我們換成"cluster_zhangxiaobai"

數據庫用戶和組跟openGauss一樣,都是omm。
安裝路徑在/opt/mogdb下。端口號為26000。
貌似安裝配置文件比openGauss的要簡單得多。
那就執行安裝吧!
ptk install -f config.yaml

額,ubuntu 18.04的系統沒有經過嚴格測試?(難道一開始的路就走錯了?)
要不還是先在CentOS 7上面裝一下吧!
不過這是一個安裝過openGauss的CentOS

為了防止mogDb和openGauss的沖突,還是清理下用戶吧。
userdel omm
rm -rf /home/omm
重新來一遍:
安裝ptk
curl --proto '=https' --tlsv1.2 -sSf https://cdn-mogdb.enmotech.com/ptk/install.sh | sh

ptk template --local > config.yaml

ptk install -f config.yaml

好像也不是很順利哦。。。
找了專家問了一下,這里面提示了兩個問題(ERROR):
一個是 “報 kernel.core_pattern 里包含 abrt 服務的錯誤時,需要修改掉 core_pattern 的值為普通的文件夾。不允許使用 abrt 服務代理core日志,存在丟失的風險
“(這段話有點看不懂。姑且粘貼出來),所以需要修改系統參數,具體是需要在 /etc/sysctl.conf下增加一行:kernel.core_pattern = /var/core/core-%e-%p-%t
按照專家的提示操作:
、
然后 sysctl -p 使得系統參數生效:

另一個問題是缺少numactl庫,這個比較簡單,直接用yum install numactl就可以了:

兩個問題都解決了。再試一下安裝:

這里在問 上面的配置對不對。。。暫且打Y繼續吧。因為目前只是安裝單機的。所以應該不需要調整什么東西:

系統會下載安裝包

過陣子會讓我輸入 數據庫初始密碼:需要有大寫, 小寫和特殊字符,所以張小白選擇了 Mog@2022#

后面就一氣呵成地裝完了。
那我們進命令行看看吧!
切換到管理用戶omm
su - omm
gsql -d postgres -p 26000

下面做一下例行檢查:建庫,建表,插入數據,查詢數據:
create database mydb with encoding 'UTF-8' template = template0;
\c mydb
create table mytable( name varchar(20), age integer);
insert into mytable values('張小白', 18);
select * from mytable;

看來跟openGauss相同的部分應該是正常的。
總體上來說,使用PTK進行MogDB 3.0.1的安裝,過程還是比較順利的。只是一開始遇到問題的時候暫時不知道怎么解決。希望MogDB官網能出一個Q&A,把安裝過程中遇到的問題和解答方法列出來,這樣也便于用戶順利完成安裝。
稍等,這還沒完。
我們回到ubuntu 18.04的安裝失敗那里,專家提到:
“ptk 可以支持的操作系統限定發行版的版本的,不同版本間有些區別,所以需要逐個適配。適配過的會明確知道下載哪個安裝包,未測試過的版本,就是需要用戶 -p 指定來測試,不一定可以用。
具體哪些系統版本適配過,可以通過 ptk candidate os 指令查看”
ptk candidate os

跟網頁提示支持ubuntu18不同,這里卻明確指出經過測試的版本是Ubuntu 22.04.
我們先試試ubuntu 18.04能不能裝起來,然后看看ubuntu 22.04能不能也裝起來。
ptk checkos -f config.yaml


從這里可以看出,缺libaio和numactl的包,我們一個一個裝一下:
apt install numactl

apt-get install libaio-dev

再來檢查一遍:ptk checkos -f config.yaml

生成了一個 腳本:root_fix_os.2022.0816.214559.sh

執行一下看看:
bash root_fix_os.2022.0816.214559.sh
再來檢查一下:ptk checkos -f config.yaml

只有warning,沒有異常了。
那就按照專家的意思,使用-p指定使用centos的版本裝裝看:
ptk install -f config.yaml -p https://cdn-mogdb.enmotech.com/mogdb-media/3.0.1/MogDB-3.0.1-CentOS-x86_64.tar.gz

回答Y繼續:

輸入兩遍密碼 Mog@2022# ,即可順利完成安裝。
同樣的,切換到 omm用戶使用psql完成相關的例行驗證:(語句跟CentOS的一模一樣,抱歉,張小白又一次的18歲)

那我們再來看看WSL的ubuntu 22.04能不能正常安裝MogDB:

curl --proto '=https' --tlsv1.2 -sSf https://cdn-mogdb.enmotech.com/ptk/install.sh | sh
source /root/.bashrc

ptk template --local > config.yaml

ptk install -f config.yaml

缺少ifconfig命令,那就安裝吧!
apt install net-tools
ifconfig

重來:ptk install -f config.yaml

一個一個來。。。
先安裝numactl:
apt install numactl

再來:ptk install -f config.yaml

恩。我們還是得用checkos試一下:
ptk checkos -f config.yaml


執行生成的shell:
bash root_fix_os.2022.0817.125658.sh

再來:ptk install -f config.yaml

如法炮制,這回張小白已經駕輕就熟了。。

當然了,興奮過度之余,輸入密碼的時候還是錯了一次。
繼續驗證:

于是張小白就在專家的幫助下,在centos 7.6,ubuntu 18.04和 wsl的ubuntu 22.04上使用ptk完成了MogDb 3.0.1的安裝和簡單驗證。下面該看看MogDB的一些特性了!
感謝 @Vimiix 和小助手 @modb666 的幫助。
(全文完,謝謝閱讀)




