Centos7多机集群安装Greenplum数据库

Greenplum

Greenplum产品是基于流行的PostgreSQL之上开发,几乎所有的PostgreSQL客户端工具及PostgreSQL应用都能运行在Greenplum平台上。

0、准备工作

安装用户:gpadmin

主节点数据存储目录:/home/gpadmin/gpdata/master_pgdata
数据节点数据存储目录:/data/gpdata
建好目录及权限

需要用gpadmin用户创建节点目录: /data/gpdata/data1/primary 需要用gpadmin用户创建节点目录: /data/gpdata/data1/mirror

在用户目录里创建主机列表文件,包括所有节点以及主节点本身
文件 hostlist 包括所有节点以及主节点本身,内容:
gpm2.ops.bj1
gp5.ops.bj1
gp6.ops.bj1

如果多网卡多IP可设置成:
gp5.ops.bj1
gp5.1.ops.bj1

gp6.ops.bj1
gp6.1.ops.bj1

文件 seg-hostlist 只包括数据节点,内容:
gp5.ops.bj1
gp6.ops.bj1

如果多网卡多IP可设置成:
gp5.ops.bj1
gp5.1.ops.bj1

gp6.ops.bj1
gp6.1.ops.bj1

1、安装greenplum

./greenplum-db-4.3.8.2-build-1-RHEL5-x86_64.bin

按提示输入信息及安装目录(目前安装目录:/home/gpadmin/greenplum-db-4.3.8.2)

2、修改 .bash_profile文件

#Start setting greenplum env
source /home/gpadmin/greenplum-db-4.3.8.2/greenplum_path.sh
export MASTER_DATA_DIRECTORY=/home/gpadmin/gpdata/master_pgdata/gpseg-1
export PGPORT=2345
export PGDATABASE=crm_analy
# End

GPHOME=/home/gpadmin/greenplum-db-4.3.8.2

PATH=$GPHOME/bin:$GPHOME/ext/python/bin:$PATH
LD_LIBRARY_PATH=$GPHOME/lib:$GPHOME/ext/python/lib:$LD_LIBRARY_PATH
PYTHONPATH=$GPHOME/lib/python
PYTHONHOME=$GPHOME/ext/python
OPENSSL_CONF=$GPHOME/etc/openssl.cnf
export GPHOME
export LD_LIBRARY_PATH
export PYTHONPATH
export PYTHONHOME
export OPENSSL_CONF
export PATH

3、执行 ~/.bash_profile

chmod +x .bash_profile
~/.bash_profile

4、交换KEY,使所有机器无密码默认授权访问

gpssh-exkeys -f ./hostlist

4.1、时间同步

gpssh -f seg-hostlist -v date

5、安装软件到segment hosts,把主节点的安装文件复制到所有数据节点。

gpseginstall -f ./hostlist -u gpadmin

6、初始化数据库

6.1、配置文件

cp /home/gpadmin/greenplum-db-4.3.8.2/docs/cli_help/gpconfigs/gpinitsystem_config ~/
chmod 644 ~/gpinitsystem_config

修改 gpinitsystem_config 改动行(一个机器一个节点):
declare -a DATA_DIRECTORY=(/data/gpdata/data1/primary)
MASTER_HOSTNAME=gpm2.ops.bj1
MASTER_DIRECTORY=/home/gpadmin/gpdata/master_pgdata
MASTER_PORT=2345
declare -a MIRROR_DATA_DIRECTORY=(/data/gpdata/data1/mirror)
MACHINE_LIST_FILE=/home/gpadmin/seg-hostlist

/// 一个机器两个节点情况:
declare -a DATA_DIRECTORY=(/data/gpdata/data1/primary)
declare -a MIRROR_DATA_DIRECTORY=(/data/gpdata/data1/mirror)
///

6.2、执行初始化

展开阅读全文

本文系作者在时代Java发表,未经许可,不得转载。

如有侵权,请联系nowjava@qq.com删除。

编辑于

关注时代Java

关注时代Java