greenplum6.0数据库安装文档

1、安装包下载,在官网下载的时候需要注册、登陆操作,照着做。greenplum官方软件包下载地址:https://network.pivotal.io/products/pivotal-gpdb/#/releases/449820/file_groups/2047

由于目前greenplum只有rpm安装包,安装的时候需要注意依赖解决。

2、集群部署,在开发环境基于centos6.5版本。

ip hostname role
192.168.1.173 worker01 master,segment,mirror
192.168.1.174 worker02 standby,segment,mirror
192.168.1.175 worker03 segment,mirror

3、服务器参数配置(需要在集群所有机器上执行以下操作)

3.1:配置tcp参数。修改/etc/sysctl.conf,修改完成后执行sysctl -p让配置生效。

net.ipv4.ip_forward = 0
net.ipv4.conf.default.accept_source_route = 0
kernel.core_uses_pid = 1
kernel.msgmnb = 65536
kernel.msgmax = 65536
kernel.shmmax = 68719476736
kernel.shmall = 4294967296
net.ipv4.tcp_keepalive_time = 1200
net.ipv4.ip_local_port_range = 10240 65535
vm.swappiness=0
net.ipv4.tcp_sack=1
net.ipv4.tcp_timestamps=1
net.ipv4.tcp_window_scaling=1
net.ipv4.tcp_congestion_control=cubic
net.ipv4.tcp_syncookies=1
net.ipv4.tcp_tw_recycle=0
net.ipv4.tcp_max_syn_backlog=65535
net.core.somaxconn=65535
net.core.rmem_max=16777216
net.core.wmem_max=16777216
vm.overcommit_memory=1
fs.file-max = 2097152
fs.nr_open = 2097152
net.core.netdev_max_backlog = 16384
net.ipv4.tcp_mem = 786432 2097152 3145728
net.core.optmem_max=4194304
net.ipv4.tcp_max_tw_buckets = 1048576
net.ipv4.tcp_fin_timeout = 30
net.ipv4.conf.default.rp_filter = 0
net.ipv4.conf.all.rp_filter = 0
net.ipv4.conf.eth0.rp_filter = 0
net.core.rmem_default = 16777216
net.core.wmem_default = 16777216
net.ipv4.tcp_rmem = 4096 87380 16777216
net.ipv4.tcp_wmem = 4096 65536 16777216
net.ipv4.conf.all.arp_filter = 1
net.ipv4.conf.default.arp_filter = 1
vm.max_map_count = 1048575
kernel.shmmni = 4096
kernel.sem= 250 512000 100 2048
kernel.sysrq = 1
kernel.msgmni = 2048
kernel.pid_max=4096000

3.2:修改/etc/security/limits.conf

* soft nofile 65536 
* hard nofile 65536 
* soft nproc 131072 
* hard nproc 131072

3.3:修改I/O调度算法

[root@worker01 ~]# echo deadline > /sys/block/vdb/queue/scheduler 
[root@worker01 ~]# grubby --update-kernel=ALL --args="transparent_hugepage=never"

4、开始安装greenplum

4.1:新增gpadmin用户,设置好密码之后,并且配置好该用户下的集群的免密登录。

4.2:在root用户下安装greenplum:rpm -ivh greenplum-db-6.0.0-rhel6-x86_64.rpm (需要在集群中所有机器中执行该安装操作)。安装完成后,软件位置位于:/usr/local/目录下。

4.3:修改安装目录的权限:

[root@worker01 ~]# chown -R gpadmin.gpadmin /usr/local/greenplum-db*
[root@worker01 ~]# chown gpadmin.gpadmin /usr/local #需要在每个节点执行授权

4.4:切换到gpadmin用户下,并在用户目录中执行以下操作:

[gpadmin@worker01 ~]$ vi list # 将集群的所有机器hostname添加到该目录中 
worker01
worker02
worker03

4.5:添加环境变量

[gpadmin@worker01 ~]$ cat /usr/local/greenplum-db/greenplum_path.sh >>~/.bashrc 
[gpadmin@worker01 ~]$ cat >> ~/.bashrc <<EOF
MASTER_DATA_DIRECTORY=/data/master/gpseg-1
export MASTER_DATA_DIRECTORY
EOF
[gpadmin@worker01 ~]$ source ~/.bashrc

4.6:配置免密登陆:gpssh-exkeys -f list

4.7:创建数据目录:

[gpadmin@worker01 ~]$ gpssh -f list -e " sudo chown gpadmin.gpadmin /opt/data"
[gpadmin@worker01 ~]$ gpssh -f list -e " mkdir -p /opt/data/{primary,mirror}"
[gpadmin@worker01 ~]$ mkdir -p /opt/data/master # 创建master目录

5、初始化Greenplum数据库系统

5.1:从模板中拷贝一份gpinitsystem_config文件

[gpadmin@worker01 ~]$ cp $GPHOME/docs/cli_help/gpconfigs/gpinitsystem_config /home/gpadmin/gpinitsystem_config
[gpadmin@worker01 ~]$ chmod 775 gpinitsystem_config

5.2:在拷贝的gpinitsystem_config文件中,设置所有必须的参数

ARRAY_NAME="Greenplum Data Platform"
SEG_PREFIX=gpseg
PORT_BASE=6000
## 数据文件的位置
declare -a DATA_DIRECTORY=(/data/primary)
MASTER_HOSTNAME=worker01
MASTER_DIRECTORY=/data/master
MASTER_PORT=5432
TRUSTED_SHELL=ssh
CHECK_POINT_SEGMENTS=8
ENCODING=UNICODE
MIRROR_PORT_BASE=7000
declare -a MIRROR_DATA_DIRECTORY=(/data/mirror)

5.3:初始化数据库:

[gpadmin@worker01 ~]$ gpinitsystem -a -c gpinitsystem_config -h list # 只需要在master角色的机器上执行

5.4:初始化完了之后,使用psql登录验证:

[gpadmin@worker01 ~]$ psql -d postgres  # 当成功进入数据库后表示安装成功

5.5、为master和segment添加mirror进程

1、在所有需要添加mirror的主机,创建存放mirror的数据目录(如果已经创建,忽略此操作)
[gpadmin@worker01 ~]$ mkdir /opt/data/mirror
以下再master操作
2、生成配置文件
[gpadmin@worker01 ~]$ gpaddmirrors -o addmirror
3、添加mirror
[gpadmin@worker01 ~]$ gpaddmirrors -a -i addmirror -v

5.6、为master添加standby进程

1、在standy节点上创建master目录
[gpadmin@worker01 ~]$ mkdir /opt/data/master
2、在master上执行
[gpadmin@worker01 ~]$ gpinitstandby -a -s worker02

猜你喜欢

转载自blog.csdn.net/qq_32323239/article/details/101689486