centos7离线安装GreenPlum6.1集群

一、安装包准备

1、GP安装包下载:
https://github.com/greenplum-db/gpdb/releases
2、centos7.4.iso
3、JDK8
4、需要的依赖:
apr
apr-util
bash
bzip2
curl
krb5
libcurl
libevent
libxml2
libyaml
zlib
openldap
openssh
openssl
openssl-libs (RHEL7/Centos7)
perl
readline
rsync
R
sed (used by gpinitsystem)
tar
zip

二、修改系统参数

1、关闭selinux(3台)

vim /etc/selinux/config

修改

SELINUX=disabled

2、关闭防火墙(3台)
查看状态:systemctl status firewalld.service
关闭防火墙:systemctl stop firewalld.service
永久关闭:systemctl disabled firewalld.service

3、修改主机名(3台)

hostnamectl set-hostname gp01

4、配置hosts(3台)

vim /etc/hosts

5、修改系统内核(3台)

vim /etc/sysctl.conf

添加如下:

kernel.shmall = 4000000000
kernel.shmmax = 500000000
kernel.shmmni = 4096
vm.overcommit_memory = 2 
vm.overcommit_ratio = 95 
net.ipv4.ip_local_port_range = 10000 65535 
kernel.sem = 500 2048000 200 40960
kernel.sysrq = 1
kernel.core_uses_pid = 1
kernel.msgmnb = 65536
kernel.msgmax = 65536
kernel.msgmni = 2048
net.ipv4.tcp_syncookies = 1
net.ipv4.conf.default.accept_source_route = 0
net.ipv4.tcp_max_syn_backlog = 4096
net.ipv4.conf.all.arp_filter = 1
net.core.netdev_max_backlog = 10000
net.core.rmem_max = 2097152
net.core.wmem_max = 2097152
vm.swappiness = 10
vm.zone_reclaim_mode = 0
vm.dirty_expire_centisecs = 500
vm.dirty_writeback_centisecs = 100
vm.dirty_background_ratio = 0 
vm.dirty_ratio = 0
vm.dirty_background_bytes = 1610612736
vm.dirty_bytes = 4294967296

6、修改系统资源限制(3台)

vim /etc/security/limits.conf

添加如下:(不要漏掉 * 号)

*  soft nofile 524288
* hard nofile 524288
* soft nproc 131072
* hard nproc 131072

7、创建用户和用户组(3台)
创建用户gpadmin以及用户组,并设置gpadmin密码

groupadd gpadmin
useradd gpadmin -r -m -g gpadmin
passwd gpadmin

8、配置ntp时间同步(先不做)
9、配置ssh免密登录(在gpadmin用户下执行)(3台)

三、安装必要环境

1、安装JDK

2、使用httpd服务和iso镜像的解压文件搭建内网共享yum源

四、安装GP

  • GP6默认安装在/usr/local/ 下
  • 以下操作,均在gpadmin用户下执行

1、普通用户无yum权限,先切换到root用户下,将GP安装包分发到所有服务器的/opt/ 目录下,并执行:

yum install  /opt/greenplum-db-6.1.0-rhel7-x86_64.rpm

更改GP数据库目录拥有者为gpadmin用户:

chown -R gpadmin:gpadmin /usr/local/greenplum*

切换回gpadmin用户:
su gpadmin

2、在master机器上执行:

vim ~/.bashrc

文末添加:

source /usr/local/greenplum-db/greenplum_path.sh #(这个地方使用绝对路径应该更好,没试验。可以将greenplum-db改成绝对路径)
export PGPORT=5432
export PGUSER=gpadmin
export MASTER_DATA_DIRECTORY=/gpdata/master/gpseg-1
export PGDATABASE=default_ database
export LD_PRELOAD=/lib64/libz.so.1 ps

3、在segment机器上执行:

vi ~/.bashrc

文末添加:

source /usr/local/greenplum-db/greenplum_path.sh #(可以将greenplum-db改成绝对路径)

4、在master服务器上创建hostfile_exkeys文件和hostfile_segonly文件:

cd ~
vim hostfile_exkeys

输入:

gp01
gp02
gp03
vim hostfile_segonly

输入:

gp02
gp03

5、在master机器上创建数据目录:

mkdir -p /gpdata/master

6、初始化配置文件,在master机器上执行:

cd /home/gpadmin
mkdir gpconfigs

复制gpinitsystem_config 文件:

cp /usr/local/greenplum-db/docs/cli_help/gpconfigs/gpinitsystem_config /home/gpadmin/gpconfigs/gpinitsystem_config

在3台主机上创建目录:

mkdir -p /gpdata/pdata1
mkdir /gpdata/mdata1

修改/home/gpadmin/gpconfigs/gpinitsystem_config文件,如下:

\# 数据库代号
ARRAY_NAME="Greenplum Data Platform"
\#segment前缀
SEG_PREFIX=gpseg
\#primary segment 起始的端口号
PORT_BASE=6000
\#指定primary segment的数据目录,网上写的是多个相同目录,多个目录表示一台机器有多个segment
declare -a DATA_DIRECTORY=(/gpdata/pdata1 /gpdata/pdata2 /gpdata/pdata3 /gpdata/pdata4 /gpdata/pdata5)
\#master机器的hostname
MASTER_HOSTNAME=master
\#master的数据目录
MASTER_DIRECTORY=/gpdata/master
\#master端口号
MASTER_PORT=5432
\#指定bash的版本
TRUSTED_SHELL=ssh
\#将日志写入磁盘的间隔,每个段文件通常 =16MB < 2 * CHECK_POINT_SEGMENTS + 1
CHECK_POINT_SEGMENTS=8
\#字符集
ENCODING=UNICODE
\#mirror segment 起始的端口号
MIRROR_PORT_BASE=7000
\#mirror的数据目录,和主数据一样,一个对一个,多个对多个
declare -a MIRROR_DATA_DIRECTORY=(/gpdata/mdata1 /gpdata/mdata2 /gpdata/mdata3 /gpdata/mdata4 /gpdata/mdata5)
\#
DATABASE_NAME=default_database

7、master机器上,执行初始化数据库命令:

cd ~
gpinitsystem -c gpconfigs/gpinitsystem_config -h hostfile_segonly

五、基本操作

1、启动数据库

gpstart

2、重启

gpstop -r

3、仅重新载入配置文件的更改

gpstop -u

4、停止数据库

gpstop

5、创建数据库

createdb test_database -E utf-8

6、创建用户
执行 psql, 进入到数据库(进入指定数据库:psql -d databasename),执行:

create role test password 'test' login;

7、退出数据库

\q

8、允许某用户远程登录

vim /gpdata/master/gpseg-1/pg_hba.conf

文末添加:

host all test 0.0.0.0/0  md5

执行:

gpstop –u

六、报错

1、

VM protect failed to allocate 131080 bytes from system,VM Protect 8098MB available

解决:gpconfig -c gp_max_plan_size -v "200MB"
2、执行psql或者在执行参数配置命令gpconfig时,

default database “default_” does not exist

解决:创建数据库’default_’,createdb default_ -E utf-8

七、调优

1、GP参数查看方式:
(1)进入到数据,执行
edw=# show all;
(2)查看具体某参数gpconfig -s "max_connections"

2、
参照
https://blog.csdn.net/u012948976/article/details/52695372

3、GP日常命令手册
http://blog.sina.com.cn/s/blog_6b1dfc870102w7r8.html

你可能感兴趣的:(centos7离线安装GreenPlum6.1集群)