調度節點和數據節點都為多節點,聯邦架構
安裝要求
1. coordinator 不得超過64台
- 建議為單數 3、5、7...
- 過多調度節點增加同步開銷,以滿足客戶端並發查詢請求為標准
2. coordinator 必須再同一網段,Data Node 無此要求。
3. 各節點安裝相同版本(包括小版本)操作系統
4. 開啟SSH服務,GBase 8a依賴ssh協議實現集群節點間通訊
systemctl status sshd
5. 關閉防火牆和SElinux,或開放對應端口
systemctl status firewalld
sestatus
安裝建議
1. /opt 為默認安裝目錄,建議掛載為邏輯卷方便擴容。元數據和用戶數據都在該目錄。
2. 建議硬盤使用RAID技術
3. 建議各節點時鍾同步(安裝不做要求,但便於排查故障)
安裝准備
root:
1. 獲取並解壓縮軟件包(主節點)
GBase8a_MPP_Cluster-License-9.5.2.39-redhat7.3-x86_64.tar.bz2
- License 安裝需要License注冊
- 9.5.2.39 GCluster 版本
- redhat7.3 系統版本
2. 復制環境設置腳本到所有節點
3. 運行腳本配置安裝環境(所有節點)
python SetSysEnv.py --dbaUser=gbase --installPrefix=/opt/gbase --cgroup
- dbaUser DBA用戶,即集群安裝用戶,需同demo.options中dbaUser設置一致
- installPrefix 數據庫安裝目錄,需同demo.options中installPrefix設置一致
- cgroup 可選參數,建議配置,用於修改資源管理配置文件
3. 創建DBA用戶(所有節點)
4. 創建安裝目錄並授權(所有節點)
集群安裝
1. 軟件安裝(主節點)
su - gbase
cd /opt/gcinstall/
vi demo.options
installPrefix= /opt/gbase
coordinateHost = 192.168.10.81,192.168.10.82,192.168.10.83
coordinateHostNodeID = 81,82,83 #非必須,不是關鍵信息
dataHost = 192.168.10.81,192.168.10.82,192.168.10.83
#existCoordinateHost = #用於擴容
#existDataHost = #用於擴容
dbaUser = gbase
dbaGroup = gbase
dbaPwd = 'gbase'
rootPwd = 'root'
#rootPwdFile = rootPwd.json #不常用
./gcinstall.py --silent=demo.options --passwordInputMode=Mode
- Mode
- file(默認),從文件或命令行參數獲取,密碼明文
- pwdsame 終端用戶輸入,所有節點密碼相同
- pwddiff 終端用戶輸入,每個節點提示輸入密碼
2.注冊License(主節點)+ 啟用個節點服務
2.1 獲取指紋信息
./gethostsid -n 192.168.10.81,192.168.10.82,192.168.10.83 -u root -p 密碼 -f /tmp/finger.txt
用於采集少數節點指紋信息
./gethostsid --hosts=demo.hosts -u root -p 密碼 -f /tmp/finger.txt
用於采集多節點指紋信息
-u 使用root用戶采集指紋信息,若無root權限也可用DBA用戶采集
-hosts 指定節點列表文件,內容如:Hosts=192.168.10.81,192.168.10.82,192.168.10.83
-f 指定指紋信息保存文件名
2.2 將指紋信息發送gbase郵箱
mail to : license@gbase.cn
客戶名稱:公司名稱
項目名稱:測試學習、2021年8月認證學習
申請人:XXX
申請原因:初次申請/已到有效期/硬件變更License失效/測試學習
有效期:最長到合同到期,培訓或測試有效期3個月
操作系統:cat /etc/redhat-release
附件:指紋信息
8a集群版本: GBase8a_MPP_Cluster-License-9.5.2.39-redhat7.3-x86_64.tar.bz2
2.3 導入License
./License -n 192.168.10.81,192.168.10.82,192.168.10.83 -f /tmp/20210608.lic -u gbase -p gbase
或
./License --hosts=demo.hosts -f /tmp/20210608.lic -u gbase -p gbase
導入License 使用DBA用戶
2.4 檢查License狀態
./chkLicense -n 192.168.10.81,192.168.10.82,192.168.10.83 -u gbase -p gbase
或
./chkLicense --hosts=demo.hosts -u gbase -p gbase -f check.resoult
2.5 所有節點重啟數據庫服務
su - gbase
gcluster_services all start
gcadmin
3.設置分片信息(Coordinator節點)
設置集群分片信息,生成分片信息表
gcadmin distribution <gcChangeinfo.xml> <p number> [d number] [pattern 1|2]
gcChangeinfo.xml 描述集群內節點和rack(機櫃)對應關系的文件,默認在gcinstall目錄
p 每個數據節點存放的`主`分片數。pattern 1 模式下,1<=p<rack 內節點數
d 每個主分片的副本數,取值0,1,2 默認1.最大2
pattern 描述分片規則的模板。1為rack高可用,機架間互備;2為節點高可用,節點間互備。默認1.
1 還有一種用法:所有節點都在一個機架內,實現分片各副本負載均衡高可用。
gcChangeInfo.xml自動包含了前面提供的所有節點IP,但默認在一個rack內,如果要修改需手工編輯。
查看分布表ID為1 的狀態信息
gcadmin showdistribution node
分片信息表生成后,沒有生效,需要初始化生效。
4.數據庫初始化(Coordinator節點)
gccli -uroot -p #默認密碼為空,可直接用 gccli 登錄
gbase> show databases
gbase> create database test # 沒有初始化節點映射信息,只能查看不能建庫。
gbase> initnodedatamap; #初始化節點數據映射,初始化命令只需對distribution表執行一次即可。會創建一個gclusterdb庫。
安裝失敗日志 gcinstall/gcinstall.log
集群卸載
注意: 卸載后,所有數據將丟失。如有必要,請先備份。
1. 手動停止所有節點集群服務
2. 驗證卸載配置文件,應正確描述集群節點狀態
3. 執行卸載操作
1.檢查集群服務狀態
[gbase@gbase81 gcinstall]$ gcmonit --status
+--------------------------------------------------------------------------------+
|SEG_NAME PROG_NAME STATUS PID |
+--------------------------------------------------------------------------------+
|gcluster gclusterd Running 8563 |
|gcware gcware Running 2639 |
|gcrecover gcrecover Running 2787 |
|gcmmonit gcmmonit Running 2964 |
|gbase gbased Running 8621 |
|syncserver gc_sync_server Running 2957 |
+--------------------------------------------------------------------------------+
2.停止所有節點集群服務
gcluster_services <gbase|gluster|gcrecover|syncserver|all> <start| stop [--force] | restart [--force]|info>
--force 不能正常停止服務時,內部用kill -9殺進程
3.驗證卸載配置文件
檢查demo.options文件是否正確,描述正確則再卸載時可調用該文件
4.卸載
./unInstall.py --silent=demo.options [passwordInputMode]
附默認端口
組件 | 默認端口 | 協議 | 說明 |
---|---|---|---|
Gcluster | 5258 | TCP | Coordinator集群節點對外提供服務端口 |
Gnode | 5050 | TCP | Data 集群節點對外提供服務端口 |
Gcware | 5918 | TCP/UDP | gcware節點間通訊端口 |
gcware | 5919 | TCP | 外部連接gcware節點端口 |
Recover_monit_port | 6268 | TCP | 監控收集信息端口 |
syncServer | 5288 | TCP | syncServer 服務端口 |
GcrecoverMonit | 6268 | TCP | Gcrecover 服務端口 |
數據遠程導出端口 | 16066-16166 | TCP | 數據遠程導出端口 |