一、部署前準備工作
1. 環境檢查
項目 | 配置描述 |
---|---|
內存 | 功能調試建議 32GB 以上。性能測試和商業部署時,單實例部署建議 128GB 以上。復雜的查詢對內存的需求量比較高,在高并發場景下,可能出現內存不足。此時建議使用大內存的機器,或使用負載管理限制系統的并發。 |
CPU | 功能調試最小 1×8 核,2.0GHz。性能測試和商業部署時,建議 1×16 核,2.0GHz。CPU 超線程和非超線程兩種模式都支持。說明:個人開發者最低配置 2 核 4G,推薦配置 4 核 8G。目前,openGauss僅支持ARM服務器和基于x86_64通用PC服務器的CPU。 |
硬盤 | 用于安裝 openGauss 的硬盤需最少滿足如下要求:至少 1GB 用于安裝 openGauss 的應用程序。每個主機需大約 300MB 用于元數據存儲。預留 70%以上的磁盤剩余空間用于數據存儲。建議系統盤配置為 RAID1,數據盤配置為 RAID5,且規劃 4 組 RAID5 數據盤用于安裝 openGauss。有關 RAID 的配置方法在本手冊中不做介紹。請參考硬件廠家的手冊或互聯網上的方法進行配置,其中 Disk Cache Policy 一項需要設置為 Disabled,否則機器異常掉電后有數據丟失的風險。openGauss 支持使用 SSD 盤作為數據庫的主存儲設備,支持 SAS 接口和 NVME 協議的 SSD 盤,以 RAID 的方式部署使用。 |
網絡 | 要求 300 兆以上以太網。建議網卡設置為雙網卡冗余 bond。有關網卡冗余 bond 的配置方法在本手冊中不做介紹。請參考硬件廠商的手冊或互聯網上的方法進行配置。 |
2. 獲取部署包
從 openGauss 開源社區下載對應平臺的安裝包。
- 通過 openGauss 官方下載頁面 登錄 openGauss 開源社區,選擇對應平臺的極簡版安裝包。
- 單擊“下載”。
二、部署步驟
1. 解壓 openGauss
使用普通用戶登錄到 openGauss 包安裝的主機,解壓 openGauss 壓縮包到安裝目錄(假定安裝目錄為/opt/software/openGauss
,請用實際值替換)。
cd /usr/local/
mkdir openGauss
tar -jxf openGauss-Server-x.x.x-openEuler20.03-x86_64.tar.bz2 -C /usr/local/openGauss
2. 安裝依賴包
yum -y install gcc gcc-c++ make cmake bison flex libtool-ltdl-devel numactl-devel openssl-devel libtirpc-devel libaio-devel readline-devel expect
3. 基礎環境配置
3.1 關閉 Selinux
修改/etc/selinux/config
文件中的“SELINUX”值為“disabled”。具體步驟如下:
-
使用
vim
編輯器打開/etc/selinux/config
文件:vim /etc/selinux/config
-
修改“SELINUX”的值為“disabled”:
SELINUX=disabled
-
保存并退出
vim
編輯器:
按“Esc”鍵盤退出文本編輯模式,再輸入“:wq
”保存退出。
3.2 關閉防火墻
systemctl disable firewalld.service
systemctl stop firewalld.service
3.3 關閉 swap
swapoff -a //臨時關閉
sudo sed -i '/\bswap\b/s/^/#/' /etc/fstab //永久關閉
3.4 設置字符集參數
將各數據庫節點的字符集設置為相同的字符集,可以在/etc/profile
文件中添加“export LANG=xxx
”(其中xxx
為 Unicode 編碼)。
cat >> /etc/profile <<EOF
export LANG=en_US.UTF-8
EOF
source /etc/profile
3.5 設置時區和時間
將各數據庫節點的時區設置為相同時區,可以將/usr/share/zoneinfo/
目錄下的時區文件拷貝為/etc/localtime
文件。
cp /usr/share/zoneinfo/$地區/$時區 /etc/localtime
注:$地區/$時區
為需要設置時區的信息,例如:Asia/Shanghai
。
3.6 關閉 RemoveIPC
修改/etc/systemd/logind.conf
文件中的“RemoveIPC”值為“no”。
vim /etc/systemd/logind.conf
RemoveIPC=no
修改/usr/lib/systemd/system/systemd-logind.service
文件中的“RemoveIPC”值為“no”。
vim /usr/lib/systemd/system/systemd-logind.service
RemoveIPC=no
重新加載配置參數。
systemctl daemon-reload
systemctl restart systemd-logind
檢查修改是否生效。
loginctl show-session | grep RemoveIPC
systemctl show systemd-logind | grep RemoveIPC
3.7 關閉 HISTORY 記錄
vim /etc/profile
HISTSIZE=0
source /etc/profile
3.8 一站式 xml 安裝文件生成
tar -zxvf openGauss-OM-6.0.0-openEuler20.03-aarch64.tar.gz
cd script
./gs_preinstall -U omm -G dbgroup --one-stop-install --sep-env-file=ENVFILE
其中--sep-env-file
是環境分離時使用,如果不使用環境分離,可以去掉該參數;targetDir
為包解壓后的保存路徑;omDir
為 OM 包解壓后的保存路徑。
執行后,首先程序會根據本地的默認字符集,程序根據配置的語言設置會顯示對應語言的導航欄,在導航欄選擇使用哪種語言來進行下面的安裝(支持中文和英文)。
可以通過如下命令來查看本地操作系統的語言設置:
echo $LANG
如果系統顯示值包含“en_US”,則導航欄為英文。
Please choose whether to generate an XML file with one click navigation in English or Chinese?
>> 1) chinese
2) english
如果系統顯示值包含“zh_CN”,則為中文語言,導航欄會顯示中文內容。否則,您可以執行如下命令修改語言設置為中文:
export LANG=zh_CN.UTF-8
請選擇是英文還是中文導航一鍵式生成 xml 文件?
>> 1) 中文
2) 英文
請輸入 xml 的路徑和文件名(默認為./cluster.xml
)。
輸入的 xml 文件路徑如果存在,會對判斷該輸入是否有非法字符,是否是文件,當前用戶是否有權限;如果輸入 xml 文件路徑不存在,那么不會判斷;默認生成的cluster.xml
文件默認會在解壓包路徑下script/base_utils/template/cluster.xml
。
請輸入數據庫安裝目錄(默認為/opt/openGauss/install
)。
輸入的數據庫安裝目錄如果存在,會判斷該目錄是否有非法字符,是否是一個空目錄,當前用戶是否有權限操作;如果目錄不存在,那么不會判斷。
請輸入數據庫端口(默認為 15000)。
數據庫端口在 1024-65535 之間,并且輸入必須是數字。
請選擇是否主備部署。
可以選在主備部署或單機部署。如果單機部署,默認會將本地 ip 和 hostname 寫入 xml 中,后面的流程跳過;如果主備部署,繼續后面的流程。
請選擇是否部署資源池化。
選擇部署或不部署資源池化,如果部署,默認會部署 CM;如果不部署,繼續后面的流程。
請選擇是否部署 CM。
選擇部署 CM 或不部署 CM。
請輸入 cmserver 端口(默認:15400)。
輸入的端口在 1024-65535 之間,必須是數字,不能和上面配置的數據庫的端口重復,并且 cm 端口和數據庫端口距離至少間隔 10。
請輸入節點數量,最多支持一主八備,即 9 個節點(默認是一主兩備,3 個節點)。
輸入節點數量在 1-9 之間,必須是數字。
請輸入主機節點 IP 和節點名稱(如:192.168.0.1 hostname1;192.168.0.2 hostname2
)。
輸入的節點 ip 和名稱,首先數量必須一致,ip 和 hostname 之間用空格分隔,每一組 ip hostname 之間用分號分隔;其次輸入的 ip 不能重復。
生成的 xml 路徑是/xxx/script/base_utils/template/cluster.xml
。
默認生成的 xml 路徑是script/base_utils/template/cluster.xml
。
請輸入 ssh 端口(默認為 22):
輸入的端口除了默認的 22 端口,自定義的端口在 1024-65535 之間,必須是數字;多個節點之間端口號不一樣用逗號分隔。如:22,2222
;端口號一樣,直接輸入一個即可,如:22
。
xml 的內容
請確認 xml 的內容是否正確,正確輸入 yes;如需修改 xml 內容,需自行修改,然后輸入 yes 確認。
生成的 xml 首先需確認下是否正確,如果正確輸入 y 或 yes 繼續后面的流程;如果不正確,需重新開一個窗口直接修改生成的 xml,修改完畢,回到當前窗口,輸入 y 或 yes 繼續下面的流程。
4. 安裝 OpenGauss
執行安裝腳本:
cd /usr/local/opengauss/script/
source ENVFILE
gs_install -X /usr/local/opengauss/script/base_utils/template/cluster.xml
5. 驗證安裝
連接訪問功能測試:
gsql -d postgres -p 15000
SELECT * FROM pg_user;
DROP USER remote_user CASCADE; -- 刪除用戶及依賴
CREATE USER liwei PASSWORD 'Sidev@0591';
GRANT CONNECT ON DATABASE postgres TO liwei;
GRANT USAGE ON SCHEMA public TO liwei;
GRANT SELECT, INSERT, UPDATE, DELETE ON ALL TABLES IN SCHEMA public TO liwei;
gsql -d postgres -p 15000 -h 127.0.0.1 -U liwei
修改監聽為本機全部:
vi /opt/openGauss/install/data/dn1/postgresql.conf
listen_addresses = '*' -- 監聽所有地址
6. 重啟數據庫
gs_ctl restart -D /opt/openGauss/install/data/dn1/