Greenplum5.9生产环境集群部署
配置系统并安装greenplum数据库
按顺序执行下面安装任务:
1. 确认系统配置要求
2. 操作系统参数配置
3. (master only) 创建管理员用户账号
4. (master only) 安装Greenplum数据库软件
5. 在所有的主机上安装和配置Greenplum
6. 创建数据存储目录
注意:除了有特殊说明外,这些任务要在所有的主机上进行安装(master,standby master and segments)
1. 系统要求
下面的命令是核对SELinux的状态(以root用户运行)
# sestatus
SELinuxstatus: disabled可以编辑/etc/selinux/config文件,修改SELINUX参数的值,然后重启操作系统
SELINUX=disabled |
- 下面的命令是检查iptables的状态,以root用户运行(CentOS 6.x)
# /sbin/chkconfig --list iptables |
关闭iptables
#chkconfig iptables off |
如果iptables的状态是disabled,将会显示下面输出
iptables 0:off 1:off 2:off 3:off 4:off 5:off 6:off |
- 下面的命令是检查iptables的状态,以root用户运行(CentOS 7.x)
# systemctl status firewalld |
如果firewalld为disabled,显示如下
firewalld.service - firewalld - dynamic firewall daemon |
下面命令是禁用firewalld(以root用户运行)
# systemctl stop firewalld.service |
2.设置操作系统参数
Greenplum的安装需要修改操作系统的参数配置(masters和Segments)
- Linux系统配置
编辑/etc/hosts文件,确保包括主机名和ip地址
编辑/etc/sysctl.conf文件,修改下面的配置并重启
kernel.shmmax = 500000000(default 68719476736) |
在/etc/security/limits.conf文件中配置如下参数
* soft nofile 65536 |
3.创建Greenplum 数据库管理员账户
必须要在master节点创建运行数据库的用户,可以使用操作系统的用户作为Greenplum管理员用户,为了方便可以使用gpadmin。
注意:不能用root用户运行greenlum
Gpadmin用户必须要有访问安装了Greenplum的主机目录权限
在Greenplum的master节点上创建操作系统账户,以root用户运行groupadd, useradd,和 passwd命令。例如:
# groupadd gpadmin |
4.安装 Greenplum 数据库
使用root用户登录需要安装Greenplum数据库的master节点的机器.
下载安装文件,将安装文件复制到master节点的机器
解压安装文件:
# unzip greenplum-db-5.9.0-rhel6-x86_64.zip |
- 执行安装文件:
# /bin/bash greenplum-db-5.9.0-rhel6-x86_64.bin |
安装过程会提示接受Greenplum Database license agreement,输入yes,接受license agreement。
安装过程会提示输入安装路径,输入ENTER键使用默认安装目录(/usr/local/greenplum-db-
),或者输入自定义路径(绝对路径)
注意:必须要有安装目录的write权限
- 安装结束会创建一个greenplum-db的软连接,查看安装目录如下:
- 如果是以root用户安装的,需要将安装文件的属主和组改变成gpadmin
# chown -R gpadmin /usr/local/greenplum* |
5.在所有主机上安装配置greenplum
当以root用户运行gpseginstall命令时,会将Greenplum安装文件复制到其他主机上(hostfile_exkeys进行配置),同时会创建Greenplum操作系统用户账号(gpadmin),设置账号密码(默认为changeme),设置安装目录的属主和组,并且会在所有主机之间配置SSH免密.
注意:如果只在一台机器上安装greenplum,也可以使用gpseginstall命令,但是hostfile_exkeys文件只有当前主机的主机名
在所有的主机上安装和配置greenplum数据库
以root用户登录master主机
在greenplum安装目录下,对greenplum_path.sh 执行source命令
# source /usr/local/greenplum-db/greenplum_path.sh |
- 创建hostfile_exkeys文件,包括所有主机名(master, standby master and
segments),例如:如果有一个master和一个standby master以及两个segment,配置文件配置如下:
mdw |
- 运行gpseginstall命令,下面的是以root用户运行的,该命令会在所有主机上创建gpadmin的系统账号,在所有segment主机上设置用户的密码为123qwe
# gpseginstall -f hostfile_exkeys -p 123qwe |
-u和-p分别设置账号名和密码
验证安装
- 以gpadmin用户登录master节点
$ su - gpadmin |
- 对greenplum_path.sh执行source命令
# source /usr/local/greenplum-db/greenplum_path.sh |
- 使用gpssh命令验证是否可以免密登录,$GPHOME默认为/user/local
$ gpssh -f hostfile_exkeys -e ls -l $GPHOME |
如果不能免密登录,使用下面命令进行免密配置
$ gpssh-exkeys -f hostfile_exkeys |
6.创建数据存储区域
在Master主机上创建数据存储目录
- 创建属主和组都为gpadmin的目录,以root用户运行下面命令
# mkdir -p /home/gpadmin/gpdata/gpmaster |
- 改变创建目录的属主和组,例如:
# chown -R gpadmin:gpadmin /home/gpadmin/gpdata/gpmaster/ |
- 使用gpssh命令,在standby master上创建相同的目录,例如:
$ source /usr/local/greenplum-db/greenplum_path.sh |
在segment主机上创建数据存储目录
以root用户登录master主机
创建hostfile_gpssh_segonly文件,该文件仅仅包括所有segment的主机名
sdw1 |
- 使用hostfile_gpssh_segonly文件,通过gpssh命令在所有的segment主机上创建primary 和 mirror的目录
$ source /usr/local/greenplum-db/greenplum_path.sh |
初始化greenplum数据库系统
1. 初始化数据库
创建用于初始化的文件
- 以gpadmin用户登录
$ su – gpadmin |
- 创建hostfile_gpinitsystem文件,该文件仅仅包括segment主机名
sdw1 |
- 保存文件
创建gpinitsystem_config的文件
以gpadmin用户登录
$ su – gpadmin
将gpinitsystem_config文件复制到/usr/local/greenplum-db/conf/目录下
$ cp $GPHOME/docs/cli_help/gpconfigs/gpinitsystem_config \ |
- 编辑gpinitsystem_config文件,内容如下:
################################################ |
- 保存文件
运行初始化命令
- -s参数是指定standby master,本环境由于只有两个segment节点,选择group方式备份。
$ gpinitsystem -c gpinitsystem_config -s smdw |
- 该命令会验证安装信息,如果所有的预检查都成功,会提示需要确认配置,例如:
=> Continue with Greenplum creation? Yy/Nn |
输入确认启动初始化.
初始化成功会提示如下内容:
=> Greenplum Database instance successfully created. |
2.设置环境变量
- 以 gpadmin用户登录:
$ su - gpadmin |
- 编辑.bashrc文件:
$ vi ~/.bashrc |
- 添加如下内容:
source /usr/local/greenplum-db/greenplum_path.sh |
- (注意)如果是RHEL 7 or CentOS 7系统,需要在.bashrc文件的末尾添加如下内容:
export LD_PRELOAD=/lib64/libz.so.1 ps |
- 使用文件生效:
$ source ~/.bashrc |
- 如果有standy master,将环境变量文件复制到standy master主机上
$ cd ~ |
3.控制访问权限
编辑 pg_hba.conf
- 修改密码
**testDB=# alter role gpadmin with password '123qwe';** |
- 编辑 $MASTER_DATA_DIRECTORY/pg_hba.conf,添加访问数据库的主机信息.
host testDB gpadmin 10.6.150.102/32 md5 |
- 使pg_hba.conf文件生效:
$ gpstop -u |
- 本文链接:https://jiamaoxiang.top/2021/01/16/Greenplum5-9生产环境集群部署/
- 版权声明:本文为博主原创文章,遵循CC BY-SA 4.0版权协议,转载请附上原文出处链接和本声明
分享