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源
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