通过查看官方文档,官方文档在升级准备和执行顺序和操作上是有一些问题的,躺了下坑,故作此文。
官文中的一个坑,其实是不需要删除任何文件的。
0. 升级说明
1. 升级只是升级软件包即可
2. 升级前后数据库中的数据不受影响,但是如果是生产库一定要备份数据库后再做升级。
3. 环境变量问题:配置环境变量建议写 source /usr/local/greenplum-db/greenplum_path.sh 不要写官网建议的 source /usr/local/greenplum-db-xxx/greenplum_path.sh,防止因为变量问题给自己挖坑。
1. 主备节点执行
# master目录备份 $MASTER_DATA_DIRECTORY
cp -r /mnt/vdb/master/gpseg-1 /mnt/vdb/master/gpseg-1bak
# 注意
如果是生产环境建议先全量备份数据库
2. 主节点执行
# 停止gpcc和数据库
su - gpadmin
gpcc stop
gpstop -a
3. 所有节点root权限下操作
# 分发 greenplum-db-6.8.1-rhel7-x86_64.rpm 到每个节点的/tmp目录下
# 安装软件包
yum install -y /tmp/greenplum-db-6.8.1-rhel7-x86_64.rpm
# 修改软连接
rm /usr/local/greenplum-db
ln -s /usr/local/greenplum-db-6.8.1 /usr/local/greenplum-db
chown -R gpadmin:gpadmin /usr/local/greenplum*
4. 主节点执行
su - gpadmin
gpstart -a
gpcc start
5. 主节点执行
# 检查
su - gpadmin
gpstate -f