Centos7.5 install Greenplum
Centos7.5 install Greenplum
##############################################################################################
每个节点上的配置
1.系统配置
修改hosts文件
cat >> /etc/hosts << EOF
172.16.10.15 domp01 mdw1
172.16.10.16 domp02 sdw1
172.16.10.17 domp03 sdw2
EOF
修改主机名文件
cat >>/etc/sysconfig/network << EOF
NETWORKING=yes
HOSTNAME=domp01
EOF
修改系统参数
-------------------------------------------------
cat >> /etc/sysctl.conf << EOF
kernel.shmmax = 500000000
kernel.shmmni = 4096
kernel.shmall = 4000000000
kernel.sem = 250 512000 100 2048
kernel.sysrq = 1
kernel.core_uses_pid = 1
kernel.msgmnb = 65536
kernel.msgmax = 65536
kernel.msgmni = 2048
net.ipv4.tcp_syncookies = 1
net.ipv4.ip_forward = 0
net.ipv4.conf.default.accept_source_route = 0
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_max_syn_backlog = 4096
net.ipv4.conf.all.arp_filter = 1
net.ipv4.ip_local_port_range = 1025 65535
net.core.netdev_max_backlog = 10000
net.core.rmem_max = 2097152
net.core.wmem_max = 2097152
vm.overcommit_memory = 2
EOF
-----------------------------------------------
cat >> /etc/security/limits.conf <<EOF
* soft nofile 65536
* hard nofile 65536
* soft nproc 131072
* hard nproc 131072
EOF
-----------------------------------------------
创建用户和目录
groupadd -g 530 gpadmin
useradd -g 530 -u 530 -m -d /home/gpadmin -s /bin/bash gpadmin
echo gpadmin |passwd gpadmin --stdin
mkdir -p /data/greenplum/{data,logs,conf}
chown -R gpadmin:gpadmin /data/greenplum
##############################################################################################
在GP的master节点上操作:
安装gp包到指定目录(root用户)
rpm -ivh --prefix=/data/greenplum/ greenplum-db-5.18.0-rhel7-x86_64.rpm
chown -R gpadmin:gpadmin /data/greenplum
su - gpadmin
编辑主机列表配置文件
cd /data/greenplum
vim conf/hostlist --所有节点
mdw1
sdw1
sdw2
vim conf/seglist --所有segment节点
sdw1
sdw2
生效环境变量
source /data/greenplum/greenplum-db-5.18.0/greenplum_path.sh
开始配置集群
1.配置节点间的互信,中间会要求输入各节点gpadmin的密码
gpssh-exkeys -f /data/greenplum/conf/hostlist
登录各节点,测试连通性
gpssh -f /data/greenplum/conf/hostlist
压缩文件传到各子节点
gtar -cvf greenplum_clustet.tar greenplum-db-5.18.0/
gpscp -f conf/seglist greenplum_clustet.tar =:/data/greenplum/
进入子节点解压包
[gpadmin@domp01 greenplum]$ gpssh -f conf/seglist
=> ll
[sdw1] total 0
[sdw2] total 0
=> cd /data/greenplum
[sdw1]
[sdw2]
=> ll
[sdw1] total 683812
[sdw1] drwxr-xr-x 2 gpadmin gpadmin 6 Oct 27 10:14 conf
[sdw1] drwxr-xr-x 2 gpadmin gpadmin 6 Oct 27 10:14 data
[sdw1] -rw-rw-r-- 1 gpadmin gpadmin 700221440 Oct 27 10:21 greenplum_clustet.tar
[sdw1] lrwxrwxrwx 1 gpadmin gpadmin 35 Oct 27 10:28 greenplum-db -> /data/greenplum/greenplum-db-5.18.0
[sdw1] drwxr-xr-x 11 gpadmin gpadmin 138 Oct 27 10:07 greenplum-db-5.18.0
[sdw1] drwxr-xr-x 2 gpadmin gpadmin 6 Oct 27 10:14 logs
[sdw2] total 683812
[sdw2] drwxr-xr-x 2 gpadmin gpadmin 6 Oct 27 10:12 conf
[sdw2] drwxr-xr-x 2 gpadmin gpadmin 6 Oct 27 10:12 data
[sdw2] -rw-rw-r-- 1 gpadmin gpadmin 700221440 Oct 27 10:19 greenplum_clustet.tar
[sdw2] lrwxrwxrwx 1 gpadmin gpadmin 35 Oct 27 10:26 greenplum-db -> /data/greenplum/greenplum-db-5.18.0
[sdw2] drwxr-xr-x 11 gpadmin gpadmin 138 Oct 27 10:07 greenplum-db-5.18.0
[sdw2] drwxr-xr-x 2 gpadmin gpadmin 6 Oct 27 10:12 logs
=> tar -xvf greenplum_clustet.tar
做软链接
=>ln -s /data/greenplum/greenplum-db-5.18.0 greenplum-db (如果软链接配置错误 可以用ln -snf <目录> <软链接名> 更新软链接)
=>exit
gpssh -f /data/greenplum/conf/hostlist
=> cd /data/greenplum/data
=> mkdir gpmaster gpdatap1 gpdatap2 gpdatam1 gpdatam2
=> ll
[sdw1] total 0
[sdw1] drwxrwxr-x 2 gpadmin gpadmin 6 Oct 27 10:55 gpdatam1
[sdw1] drwxrwxr-x 2 gpadmin gpadmin 6 Oct 27 10:55 gpdatam2
[sdw1] drwxrwxr-x 2 gpadmin gpadmin 6 Oct 27 10:55 gpdatap1
[sdw1] drwxrwxr-x 2 gpadmin gpadmin 6 Oct 27 10:55 gpdatap2
[sdw1] drwxrwxr-x 2 gpadmin gpadmin 6 Oct 27 10:55 gpmaster
[sdw2] total 0
[sdw2] drwxrwxr-x 2 gpadmin gpadmin 6 Oct 27 10:53 gpdatam1
[sdw2] drwxrwxr-x 2 gpadmin gpadmin 6 Oct 27 10:53 gpdatam2
[sdw2] drwxrwxr-x 2 gpadmin gpadmin 6 Oct 27 10:53 gpdatap1
[sdw2] drwxrwxr-x 2 gpadmin gpadmin 6 Oct 27 10:53 gpdatap2
[sdw2] drwxrwxr-x 2 gpadmin gpadmin 6 Oct 27 10:53 gpmaster
[mdw1] total 0
[mdw1] drwxrwxr-x 2 gpadmin gpadmin 6 Oct 27 10:54 gpdatam1
[mdw1] drwxrwxr-x 2 gpadmin gpadmin 6 Oct 27 10:54 gpdatam2
[mdw1] drwxrwxr-x 2 gpadmin gpadmin 6 Oct 27 10:54 gpdatap1
[mdw1] drwxrwxr-x 2 gpadmin gpadmin 6 Oct 27 10:54 gpdatap2
[mdw1] drwxrwxr-x 2 gpadmin gpadmin 6 Oct 27 10:54 gpmaster
退出,回到gpadmn用户的家目录,修改环境变量(gpadmin用户,每个节点都做)
cd
vim .bash_profile
source /data/greenplum/greenplum-db-5.18.0/greenplum_path.sh
export MASTER_DATA_DIRECTORY=/data/greenplum/data/gpmaster/gpseg-1
export PGPORT=5432
export PGDATABASE=postgres
---------------------------------------------------------------------
source .bash_profile 生效配置
master节点(gpadmin 用户)
新建数据库初始化配置文件
cat >> /data/greenplum/conf/gpinitsystem_config <<EOF
ARRAY_NAME="Greenplum"
SEG_PREFIX=gpseg
PORT_BASE=33000
declare -a DATA_DIRECTORY=(/data/greenplum/data/gpdatap1 /data/greenplum/data/gpdatap2)
MASTER_HOSTNAME=mdw1
MASTER_DIRECTORY=/data/greenplum/data/gpmaster
MASTER_PORT=5432
TRUSTED_SHELL=/usr/bin/ssh
MIRROR_PORT_BASE=43000
REPLICATION_PORT_BASE=34000
MIRROR_REPLICATION_PORT_BASE=44000
declare -a MIRROR_DATA_DIRECTORY=(/data/greenplum/data/gpdatam1 /data/greenplum/data/gpdatam2)
MACHINE_LIST_FILE=/data/greenplum/conf/seglist
EOF
gpinitsystem -c /data/greenplum/conf/gpinitsystem_config -s sdw2
20191027:11:19:24:024440 gpinitsystem:domp01:gpadmin-[INFO]:-Start Function BACKOUT_COMMAND
20191027:11:19:24:024440 gpinitsystem:domp01:gpadmin-[INFO]:-End Function BACKOUT_COMMAND
初始化成功
添加备库节点
gpinitstandby -s sdw2
##############################################################################################
集群的启停(master节点)
gpstart -a
gpstop -a
gpstop -u 动态加载刷新配置文件
gpstate -c 查看集群primary instance 和mirror instance对应关系
gpstate -m 查看集群segments 节点状态
gpstate -f 查看集群standby 节点信息
gpstate -e 查看当前故障节点同步状态
##############################################################################################
创建数据库
用gpadmin登录,默认只有postgres库
psql -h IP地址 -d postgres -p 端口 -U 用户名
postgres-# create database mygp;
更改用户密码:
alter role 用户名 with password 'citms';
更改用户表空间
alter role dbdream set default_tablespace='tbs1';
创建表空间
1.先在系统创建物理文件
master
mkdir -p /data/greenplum/data/tbspace_master_test
segment
gpssh -f /data/greenplum/conf/seglist -e 'mkdir -p /data/greenplum/data/tbspace_segment_test'
2.创建文件空间
gpfilespace -U gpadmin -p 5432 -W
指定用户名密码端口(用户必须时超级用户)
然后按提示指定创建的文件路径(绝对路径)
最后会生成创建一个文件空间的命令
gpfilespace --config /data/greenplum/data/gpfilespace_config_20191215_230341 -U gpadmin -p 5432 -W
postgres=# select * from pg_filespace;
fsname | fsowner
-----------+---------
pg_system | 10
test | 10
3.创建完文件空间,即可在文件空间上创建表空间,创建表空间必须使用support权限用户
postgres-> \c postgres gpadmin
You are now connected to database "postgres" as user "gpadmin"
postgres=# create tablespace test_tablespace filespace test;
CREATE TABLESPACE
postgres=# \db
List of tablespaces
Name | Owner | Filespace Name
-----------------+---------+----------------
test_tablespace | gpadmin | test
##############################################################################################
基本查询
--查询当前连接的会话
select datname,procpid,usesysid,usename,current_query,client_addr,client_port from pg_catalog.pg_stat_activity;
--查看所有segment节点信息
select * from gp_segment_configuration;
--查看GP当前执行的SQL
select * from * from pg_stat_activity;
--查看文件空间
select * from pg_filespace;

浙公网安备 33010602011771号