GreenPlum-数据存储目录迁移及常用操作
一、环境介绍
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查看运行情况
深夜码文不易,若对看官有帮助,望看官可以在右侧打赏。