openGauss資料庫部署實踐(華為雲開發者雲實驗)

NOTHINGBUTNOTHING發表於2024-10-17

前言

資料庫課程上了解到openGuass資料庫,做完雲實驗發現實驗指導手冊有些地方不夠細緻或者已經與實際的操作步驟有所偏差,遂寫一篇部落格為其他同學學習提供參考。

什麼是openGuass?

openGauss是一款開源關係型資料庫管理系統,由華為公司結合多年資料庫經驗打造,以高效能、高可用性和高安全性為企業級應用提供資料儲存和管理服務。它採用木蘭寬鬆許可證v2,鼓勵社群貢獻和合作。

核心特性包括:

  • 高效能:最佳化的併發控制技術,能在多核處理器上發揮極致效能。
  • 高可用:支援多種部署模式,確保業務連續性和資料安全。
  • 高安全:提供端到端的安全防護,包括資料加密和審計。
  • 易運維:AI技術輔助引數調優,簡化資料庫管理。

openGauss的開源社群活躍,不斷推動技術創新,華為雲上有免費的雲實驗可以體驗如何部署openGuass,接下來,我們將在雲實驗中探索在華為雲上部署openGauss的實踐。

第一步 登入

雲實驗初始介面如下圖所示,需點選IAM賬號登入

點選之後將實驗所給賬號輸入:

第二步 建立實驗所需資源

登入之後的介面如下,首先要建立的是虛擬雲,需要點選紅圈中的按鈕才可以看到實驗書上的選項:

隨後點選這些位置:

在新頁面點選紅圈中的按鈕,進入配置頁面:

根據實驗書只需填寫這些資訊到對應位置,隨後就可以點選右下角立即建立:

建立成功後如圖所示,點選紅圈中的按鈕,接下來根據指導書描述找到建立ECS的按鈕:

如圖點選:

接下來建立彈性雲伺服器的過程與指導書有一定出入,具體頁面的樣式已經和指導書不同。

(Ps:下面的圖中的賬號和前面的不同,是由於本文是在完成雲實驗之後再次進入截圖,所以時間不足以支援完成所有截圖,從接下來開始是新開啟的一個沙箱環境)
點選購買,實驗指導書說點選右上角,但是現在實際上點選的是這個位置:

下面開始設定配置,注意,必須和實驗要求的一樣,否則會給清理掉,建立失敗。
需要注意的是,實驗指導書中需要分階段配置,即配置完一部分之後點選下一步進入接下來的配置,但是現在只需要在這一個頁面裡面配置好點選購買就好了

首先配置下面幾個位置,只需要按照我圖上的配置即可:

然後選擇規格:

接下來選擇系統:

接下來是網路配置:
基本配置:

安全組:
保留預設選項:

配置公網:

然後繼續往下滑動:
配置雲伺服器,將伺服器名字設定為:ecs-opengauss,同時要設定密碼,考慮到這是一次實驗,且後面還有需要設定密碼的地方,同時要求相同(3種字元,長度>8),推薦都設定為一樣的,例如ABC_abc_1

最後選擇購買量為1:

然後點選購買,注意點同意協議:

購買之後可以點選跳轉伺服器列表,可以看到建立完成如下:

接下來,還需要做一件事,獲取剛才建立的雲伺服器的公網ip,按照下面的圖片依次操作:




如圖點選:

獲得公網ip 我這裡是:1.94.208.176

第三步 遠端連結

首先回到桌面,點選終端:


輸入以下命令登入彈性雲伺服器ECS:

LANG=en_us.UTF-8 ssh root@EIP

這裡把EIP這三個字元換成你的公網ip,我這裡就是1.94.208.176
所以我輸入:

LANG=en_us.UTF-8 ssh root@1.94.208.176


輸入yes

這裡是讓你輸入伺服器密碼,就是剛才設定的密碼,我這裡就是:ABC_abc_1,需要注意的是,你這個時候直接敲擊鍵盤就行了,螢幕不會顯示,敲完之後回車
然後可以看到成功登入:

接下來的操作都在這個終端進行
然後輸入:

cd /opt

進入到/opt目錄下:

然後建立目錄:

mkdir /opt/gauss


接下來進入到該目錄下,使用wget命令下載openGauss映象:
先輸入:

cd /opt/gauss

再輸入:

wget https://sandbox-expriment-files.obs.cn-north-1.myhuaweicloud.com:443/20221121/openGauss-1.1.0-openEuler-64bit-all.tar.gz


回車

然後輸入下面的命令來解壓:

tar -zxvf openGauss-1.1.0-openEuler-64bit-all.tar.gz

然後輸入:

tar -zxvf openGauss-1.1.0-openEuler-64bit-om.tar.gz

第四步 建立叢集的xml配置檔案

實驗指導書給了xml的模板,只需要修改彈性雲伺服器ECS的名稱和IP地址(私網地址),分別用下面兩個命令獲得:

hostname

我這裡就是:ecs-opengauss

ifconfig

我這裡ip是:192.168.0.133

下面建立這個xml:
輸入下面的指令進入目錄:

cd /opt/gauss

然後輸入下面的命令使用vi建立檔案:

vi clusterconfig.xml

可以看到,進入一個新檔案:

這個時候敲擊鍵盤的i鍵,進入插入模式:

將下面的檔案內容,替換相應的位置之後貼上進去:

<?xml version="1.0" encoding="UTF-8"?>
<ROOT>
    <CLUSTER>
        <PARAM name="clusterName" value="mycluster" />
        <!-- Need to be modified: Database node name (hostname) -->
        <PARAM name="nodeNames" value="ecs-opengauss" />
        <PARAM name="gaussdbAppPath" value="/opt/install/app" />
        <PARAM name="gaussdbLogPath" value="/opt/install/log/omm" />
        <PARAM name="tmpMppdbPath" value="/opt/install/tmp" />
        <PARAM name="gaussdbToolPath" value="/opt/install/om" />
        <PARAM name="corePath" value="/opt/install/corefile" />
        <!-- Need to be modified: Node IP addresses  -->
        <PARAM name="backIp1s" value="192.168.0.1"/> 
    </CLUSTER>
    <DEVICELIST>
        <DEVICE sn="100001">
        <!-- Need to be modified: Database node name (hostname) -->
        <PARAM name="name" value="ecs-opengauss"/>
        <PARAM name="azName" value="AZ1"/>
        <PARAM name="azPriority" value="1"/>
        <!-- Need to be modified: Node IP addresses -->
        <PARAM name="backIp1" value="192.168.0.1"/>
        <!-- Need to be modified: Node IP addresses -->
        <PARAM name="sshIp1" value="192.168.0.1"/>   
        <PARAM name="dataNum" value="1"/>
        <PARAM name="dataPortBase" value="15400"/>
        <PARAM name="dataNode1" value="/opt/install/data/dn"/>
        <PARAM name="dataNode1_syncNum" value="0"/>
        </DEVICE>
    </DEVICELIST>
</ROOT>

準確來說,因為伺服器名字是按照實驗書設定的,所以這裡只要把192.168.0.1替換為你自己的ip,我這裡是192.168.0.133

所以我就這樣替換:

<?xml version="1.0" encoding="UTF-8"?>
<ROOT>
    <CLUSTER>
        <PARAM name="clusterName" value="mycluster" />
        <!-- Need to be modified: Database node name (hostname) -->
        <PARAM name="nodeNames" value="ecs-opengauss" />
        <PARAM name="gaussdbAppPath" value="/opt/install/app" />
        <PARAM name="gaussdbLogPath" value="/opt/install/log/omm" />
        <PARAM name="tmpMppdbPath" value="/opt/install/tmp" />
        <PARAM name="gaussdbToolPath" value="/opt/install/om" />
        <PARAM name="corePath" value="/opt/install/corefile" />
        <!-- Need to be modified: Node IP addresses  -->
        <PARAM name="backIp1s" value="192.168.0.133"/> 
    </CLUSTER>
    <DEVICELIST>
        <DEVICE sn="100001">
        <!-- Need to be modified: Database node name (hostname) -->
        <PARAM name="name" value="ecs-opengauss"/>
        <PARAM name="azName" value="AZ1"/>
        <PARAM name="azPriority" value="1"/>
        <!-- Need to be modified: Node IP addresses -->
        <PARAM name="backIp1" value="192.168.0.133"/>
        <!-- Need to be modified: Node IP addresses -->
        <PARAM name="sshIp1" value="192.168.0.133"/>   
        <PARAM name="dataNum" value="1"/>
        <PARAM name="dataPortBase" value="15400"/>
        <PARAM name="dataNode1" value="/opt/install/data/dn"/>
        <PARAM name="dataNode1_syncNum" value="0"/>
        </DEVICE>
    </DEVICELIST>
</ROOT>


然後這個時候,要會到普通模式,也就是按下鍵盤上esc鍵

然後鍵盤敲擊冒號(😃,然後輸入wq,按下回車完成儲存並退出:

回到終端:

輸入:

chmod -R 755 /opt/gauss
chmod -R 755 /opt/gauss/script

然後輸入:

vi /etc/profile.d/performance.sh


回車:

進入到了檔案裡面

然後按下冒號(:)輸入set nu 用於顯示行號

回車

鍵盤敲擊“i”,用 # 號註釋掉該檔案第15行。鍵入“ESC”鍵進入指令模式,執行:wq儲存並退出修改。



然後輸入命令:

/sbin/sysctl -w vm.min_free_kbytes=767846

然後輸入:

yum install libaio libaio-devel -y

第五步 安裝:

輸入:

cd /opt/gauss/script

進入目錄:

然後輸入命令:

./gs_preinstall -U omm -G dbgrp -X /opt/gauss/clusterconfig.xml

等待

輸入yes

此時讓你輸入密碼我這裡就是ABC_abc_1

輸入yes

現在要設定一個密碼
我還是ABC_abc_1

要輸入兩次,都是直接鍵盤輸入,看不到

然後輸入指令:

su - omm

然後輸入命令安裝:

gs_install -X /opt/gauss/clusterconfig.xml


又要設定密碼,我這裡還是ABC_abc_1

輸入兩次
等待:

這就安裝好了

第六步 測試

輸入:

gs_om -t status --detail

輸入命令登入:

gsql -d postgres -p 15400 -r

實驗要求先改密碼:

alter role omm identified by '新設定的密碼' replace '安裝時輸入的密碼';

把密碼替換進去,我這裡是

alter role omm identified by 'ABC_abc_2' replace 'ABC_abc_1';

隨後依次測試:


最後:

相關文章