一、環境介紹
Greenplum5 3節點集羣,Centos7.2虛擬機,
二、需求
因爲/home目錄磁盤空間已滿,需要將Greenplum的數據存儲目錄轉移到新的分區/opt目錄下,虛擬機磁盤管理沒有用LVM邏輯卷管理,無法動態擴容/home。
動態擴容分區博客教程:https://blog.csdn.net/qq_40570699/article/details/88975331
三、解決方案
一般Greenplum不支持移動它的目錄,但是可以通過以下兩種方案實現Greenplum的數據存儲目錄的更改:
1.移動目錄並在其舊位置創建符號鏈接到新位置。
例如:
#如果以前使用"/home/data/master"目錄,需要移動到"/opt/data2/master",移動前備份
mv /home/data/master /opt/data2/master
#則可以用符號鏈接"/data/master - >/data2/master",創建軟鏈接
ln -s /opt/data2/master /home/data/master
#這裏講解下軟硬連接的區別:ln -s and ln
硬連接(ln):文件名就相當於一個硬連接(指針),當爲一個文件再建立一個硬連接後相當於又增加了一個指向文件存儲地的指針,
當原文件名文件刪除後,新建硬連接依舊可以訪問數據。
軟連接(ln -s):當原文件名文件被刪除後,軟連接失效。
軟硬連接都不會增加存儲大小,這裏使用軟連接是因爲硬連接無法跨分區建立。
2.如果爲測試系統,不考慮數據。
使用“gpdeletesystem”刪除舊系統並在新目錄中重新初始化它
四、常用操作
重置環境:解決不能解決的一系列問題
1.刪除主節點中gpdata下的master與文件存儲目錄,副節點也同樣刪除文件存儲目錄。
2.切換gpadmin用戶,配置.bash_profile環境,例如:
source /opt/greenplum/greenplum-db/greenplum_path.sh
export MASTER_DATA_DIRECTORY=/home/gpadmin/gpdata/gpmaster/gpseg-1
export PGPORT=5432
export PGDATABASE=postgres #默認進入的db
source .bash_profile
3.查看初始化init腳本是否正確
4.初始化數據庫,node4爲master的備份節點,這裏若不成功則配置有錯。
gpinitsystem -c /home/gpadmin/gpinit_config -s node4
5.登陸默認數據庫,若成功,則重置成功。
psql -d postgres
6.重新設置master目錄文件下的pg_hba.conf的權限設置,不然navicat遠程無法連接。
GP的segment故障恢復:原帖https://blog.csdn.net/weixin_34014277/article/details/92577231
切換gpadmin用戶
1.在navicat上查詢集羣運行情況
SELECT * FROM gp_segment_configuration WHERE status='d';
2.在$GP_HOME/bin/目錄下使用gpstate查詢集羣情況
3.使用gprecoverseg命令修復
4.使用gpstate -m查看運行情況