一、环境介绍

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查看运行情况

GreenPlum-数据存储目录迁移及常用操作的更多相关文章

  1. MySQL更改数据库数据存储目录

    MySQL数据库默认的数据库文件位于/var/lib/mysql下,有时候由于存储规划等原因,需要更改MySQL数据库的数据存储目录.下文总结整理了实践过程的操作步骤. 1:确认MySQL数据库存储目 ...

  2. mysql更改数据存储目录

    具体操作请参考文章 1.http://blog.csdn.net/aaronbai/article/details/1431190 更改数据存储目录时候会出现 ERROR 2002 (HY000): ...

  3. MySQL 更改数据库数据存储目录

    MySQL数据库默认的数据库文件位于 /var/lib/mysql 下,有时候由于存储规划等原因,需要更改 MySQL 数据库的数据存储目录. 下文总结整理了实践过程的操作步骤.   1 确认MySQ ...

  4. Ubuntu 安装mysql & 自定义数据存储目录

    一.安装 apt-get install mysql-server 执行过程如下: root@duke:~# apt-get install mysql-server 正在读取软件包列表... 完成 ...

  5. Ubuntu上更改MySQL数据库数据存储目录

    之前写过一篇博客"MySQL更改数据库数据存储目录",当时的测试环境是RHEL和CentOS,谁想最近在Ubuntu下面更改MySQL数据库数据存储目录时遇到了之前未遇到的问题,之 ...

  6. Windows安装RabbitMQ并设置数据存储目录

    一.安装Elang 下载otp_win64_xx.x.exe,当前使用otp_win64_21.3.exe版本,按步骤完成安装. 下载地址:http://www.erlang.org/download ...

  7. ios中常见数据存储方式以及SQLite常用的语句

    在iOS中,根据不同的需求对应的有多种数据存储方式: 1.NSUserdefaults  将数据存储到沙盒中(library),方便易用,但是只能存储系统提供的数据类型(plist),不能存储自定义的 ...

  8. centos mysql 数据存储目录安装位置

    rpm -ql mysql查看安装位置 MYSQL默认的数据文件存储目录为/var/lib/mysql.假如要把目录移到/home/data下需要进行下面几步: 1.home目录下建立data目录 c ...

  9. mysql5.6更改datadir数据存储目录

    环境需求: 有些数据存储场景可能需要将数据放到指定的挂载路径或目录,mysql默认存放数据路径在:/var/lib/mysql下. 测试环境: 操作步骤: 1. 查看当前存储目录 [root@mysq ...

随机推荐

  1. 为何 UNIX 时间 0, 有时显示是1970年1月1日,有时显示是1969年12月31日

    by Rachael Arnold http://www.rachaelarnold.com/dev/archive/why-is-date-returning-wrong Demystifying ...

  2. QT使用提升自定义组件

    QT使用提升自定义组件 QTC++QT自定义 QT 组件提升来实现自定义功能 介绍 我们在使用QT设置界面之后,往往需要自己实现一些方法,如果是单独 的还好,但是如果遇到很多同类型的都有需求, 比如 ...

  3. java 8 stream中的Spliterator简介

    目录 简介 tryAdvance trySplit estimateSize characteristics 举个例子 总结 java 8 stream中的Spliterator简介 简介 Split ...

  4. js 运动函数篇 (一) (匀速运动、缓冲运动、多物体运动、多物体不同值运动、多物体多值运动)层层深入

    前言:         本人纯小白一个,有很多地方理解的没有各位大牛那么透彻,如有错误,请各位大牛指出斧正!小弟感激不尽.         本篇文章为您分析一下原生JS写 匀速运动.缓冲运动.多物体运 ...

  5. java 之 jsp tomcat启动失败问题

    问题描述: 创建了一个helloServlet 代码如下 package Test; import java.io.IOException; import javax.servlet.ServletE ...

  6. 【Linux常见命令】touch命令

    touch - change file timestamps touch [文件名] 就是“摸”一下文件,如果文件不存在,就建立新文件:如果文件存在,就改变文件的访问时间atime等时间戳信息. 语法 ...

  7. CentOS7.x上轻量级TCP转发工具rinetd的安装配置

    一.实验背景 Linux下端口转发一般都使用iptables来实现,使用iptables可以很容易将TCP和UDP端口从防火墙转发到内部主机上. 如果需要将流量从专用地址转发到不在您当前网络上的机器上 ...

  8. 图论--最短路--dijkstra(含路径输出)模板

    #include<iostream> #include<stack> #include<queue> #include<cstring> #includ ...

  9. SpringBoot上传文件大小限制

    SpringBoot默认上传文件大小不能超过1MB,超过之后会报以下异常: org.apache.tomcat.util.http.fileupload.FileUploadBase$FileSize ...

  10. socket编程之并发回射服务器2

    承接上文:socket编程之并发回射服务器 为了让服务器进程的终止一经发生,客户端就能检测到,客户端需要能够同时处理两个描述符:套接字和用户输入. 可以使用select达到这一目的: void str ...