Greenplum 部署 - 多主机 postgres


# Greenplum 部署 - 单主机

https://abc.htmltoo.com/thread-46195.htm


# dbswitch 部署 - 异构数据库数据与结构同步工具

https://abc.htmltoo.com/thread-46197.htm


# Greenplun集群监控: prometheus - greenplum_exporter

https://abc.htmltoo.com/thread-44925.htm


cd  /opt

git clone -b 6.13.0 https://gitee.com/inrgihc/greenplum_installer.git

cd greenplum_installer && make all

tree bin/

.

├── account.txt

└── greenplum6-centos7-release.bin


-首先安装如下account.txt文件格式组织多个主机的IP及账号密码,然后执行命令一键安装多台主机

cat account.txt 

10.101.1.10 root 123321      //第1个主机的IP,账号,密码

10.101.1.11 root 123321      //第2个主机的IP,账号,密码

10.101.1.12 root 123321      //第3个主机的IP,账号,密码

10.101.1.13 root 123321      //第4个主机的IP,账号,密码 (至少四个主机)


(1)文件中的节点间存在顺序关系,

其中第一个为master节点,第二个为standby节点,第三个到最后均为segment节点。

(2) 账号配置文件account.txt中配置的账号必须为root,否在安装前的检查会报错。


-安装

sh greenplum6-centos7-release.bin ./account.txt install

-卸载

sh ./greenplum6-centos7-release.bin ./account.txt uninstall


-参数

安装过程大约要花费10~30分钟左右,具体与安装的服务器数量和网络速度有关,安装完成后的相关参数如下:

参数                        名称                         取值                   备注说明

Install Path 软件路径 /usr/local/greenplum-db greenplum程序软件安装所在目录,目前无法定制配置

Data Path 数据路径 /usr/local/gpdb/data greenplum数据库数据安装所在目录, 该参数可在打包时定制配置

GPDB Admin User GPDB超管账号 gpadmin 登录Greenplum数据库的超级管理员账号为gpadmin

GPDB Admin Password GPDB超管密码 g0csWpW78Sm2 登录Greenplum数据库的超级管理员gpadmin的密码

GPDB Test User GPDB测试账号名称 study 登录Greenplum数据库的测试账号为study

GPDB Test Password GPDB测试账号密码 123321 登录Greenplum数据库的测试账号study的密码为123321


# 数据库常用操作

-数据库启动:gpstart

该命令在master服务器上切换到gpadmin账号下操作,用于启动greenplum数据库。

gpstart  -a : 直接启动,不提示终端用户输入确认

gpstart  -m: 只启动master 实例,主要在故障处理时使用

-数据库停止:gpstop

该命令在master服务器上切换到gpadmin账号下操作,用于停止greenplum数据库。

gpstop  -a:直接停止,不提示终端用户输入确认

gpstop  -m:只停止master 实例,与gpstart –m 对应使用

gpstop  -f:停止数据库,中断所有数据库连接,回滚正在运行的事务

gpstop  -u:不停止数据库,只加载pg_hba.conf 和postgresql.conf中运行时参数,当改动参数配置时候使用。

-数据库状态:gpstate

该命令在master服务器上切换到gpadmin账号下操作,默认列出数据库运行状态汇总信息,常用于日常巡检。

gpstate  -c:primary instance 和 mirror instance 的对应关系

gpstate  -m:只列出mirror 实例的状态和配置信息

gpstate  -f:显示standby master 的详细信息

-连接会话查询:

通过系统表pg_stat_activity能查看到当前数据库连接的IP 地址,用户名,提交的查询等。

select * from pg_stat_activity


# Standby激活与master恢复原角色

当Greenplum segment的segement primary出现问题时,Greenplum集群FTS模块会监测并自动激活segement mirror。
但是对于Greenplum 的master节点,虽然有standby,但是Greenplum 并不会自动来完成master和standby master的角色自动切换,需要通过gpactivatestandby命令来完成这个过程。

假设定义如下:

Greenplum节点角色主机名备注
master节点mdwGreenplum Master Node
standby节点smdwGreenplum Standby Master Node

---Standby激活成为master 

-登陆smdw

su - gpadmin

-检查~/.bashrc是否配置

检查~/.bashrc是否配置MASTER_DATA_DIRECTORY等环境变量,如果没有,请使用如下命令进行环境配置并使用source命令使环境变量生效:

cat >> ~/.bashrc <<EOF

source /usr/local/greenplum-db/greenplum_path.sh

export MASTER_DATA_DIRECTORY=/usr/local/gpdb/data/master/gpseg-1/

export PGPORT=5432

export PGUSER=gpadmin

export PGDATABASE=postgres

EOF

source ~/.bashrc

-激活standby成为master角色

echo "host  all  all  0.0.0.0/0  password" >> $MASTER_DATA_DIRECTORY/pg_hba.conf

gpactivatestandby -a -f

gpstop -u

注意:激活standby前,请确保master与standby保持数据同步的一致。


# Master恢复原角色

当mdw主机故障恢复后,可将其再次恢复为master角色。

首先将mdw主机上的$MASTER_DATA_DIRECTORY目录重命名为其他名称。

-将mdw配置为standby角色

su - gpadmin

gpinitstandby -s mdw -a

gpstop -m -a

-激活mdw为master角色

su - gpadmin

gpactivatestandby -a

-调整smdw为原来的standby角色

删除smdw主机上的$MASTER_DATA_DIRECTORY目录(或重命名为其他名称),然后在mdw主机的gpadmin账号下然后执行如下命令:

su - gpadmin

gpinitstandby -s smdw -a

-在mdw上检查standby状态

su - gpadmin

gpstate -f



签名:这个人很懒,什么也没有留下!
最新回复 (0)
返回