GreenPlum学习总结
一、测试环境
1.硬件环境:
集群版 | |
---|---|
操作系统: | CentOS Linux release 7.5.1804 (3台) |
内存大小: | 16G |
磁盘大小: | 500G |
CPU型号: | 8核(Intel® Xeon® CPU E5-2670 0 @ 2.60GHz) |
2.软件环境:
软件版本 | 节点 | |
---|---|---|
gp 集 群 | greenplum-db-6.0.13-rhel7-x86_64.rpm | master主机不存放数据,两个sdw各两个节点一共四个segment(主节点+镜像节点) |
二、安装步骤
1.安装greenplum
1.创建用户和组gpadmin
sudo groupadd -g 530 gpadmin #创建用户组
sudo useradd -g 530 -u 530 -m -d /home/gpadmin -s /bin/bash gpadmin #创建用户,并指定路径
passwd gpadmin #创建用户密码
2.配置内核参数,添加如下内容:
vi /etc/sysctl.conf
#By greenplum
net.ipv4.ip_forward = 0
net.ipv4.conf.default.accept_source_route = 0
kernel.sysrq = 1
kernel.core_uses_pid = 1
net.ipv4.tcp_syncookies = 1
kernel.msgmnb = 65536
kernel.msgmax = 65536
kernel.sem = 250 64000 100 512
kernel.shmmax = 500000000
kernel.shmmni = 4096
kernel.shmall = 4000000000
kernel.sem = 250 64000 100 512
net.ipv4.tcp_tw_recycle=1
net.ipv4.tcp_max_syn_backlog=4096
net.core.netdev_max_backlog=10000
vm.overcommit_memory=2
net.ipv4.conf.all.arp_filter = 1
# 以上参数可以根据自己系统配置做适当修改
# 手工执行命令,让参数生效
sysctl -p
3.安装之前先关闭selinux和防火墙,以后要开防火墙,可以只允许gp数据库端口即可
关闭、开启防火墙
systemctl start firewalld.service#启动firewall
systemctl stop firewalld.service#停止firewall
systemctl disable firewalld.service#禁止firewall开机启动
systemctl enable firewalld.service#允许firewall开机启动
关闭selinux
sed -i '/SELINUX/s/enforcing/disabled/' /etc/selinux/config
改完后重启
开启防火墙,预留gp端口
firewall-cmd --zone=public --permanent --add-port=5432/tcp
重载服务
firewall-cmd --reload
检测端口是否开启
firewall-cmd --query-port=5432/tcp
4.在limits.conf文件中添加如下限制参数
vi /etc/security/limits.conf
* soft nofile 65536
* hard nofile 65536
* soft nproc 131072
* hard nproc 131072
5.修改每个机器的hostname
vi /etc /hostname
hostnamectl set-hostname mdw(永久强制修改)
6.配置地址别名
在每个节点执行下面的操作。通过 vi /etc/hosts来进行编辑:
10.15.20.110 mdw
10.15.20.111 sdw1
10.15.20.112 sdw2
7.配置ssh直接访问
在mdw节点,切换用户为gpadmin:gpadmin,接下来的操作是要在gpadmin的权限下进行。
su gpadmin
ssh-keygen (一路回车)
ssh-copy-id sdw1
ssh-copy-id sdw2
8.安装greenplum集群
#安装gp软件
su - root
cd /usr/local/
sudo dpkg -i greenplum-db-6.13.0-ubuntu18.04-amd64.deb
#修改gp安装目录权限
chown -R gpadmin:gpadmin /usr/local/greenplum-db*
9.在所有节点执行下面的操作:
mkdir -p /data/greenplum_data/primary
mkdir -p /data/greenplum_data/mirror
mkdir -p data/greenplum_data/gpmaster
chown -R gpadmin:gpadmin /data/ # 给实例目录授权
10.初始化环境(!!!!!一下操作只在mdw节点进行即可)
(1)登录gpadmin用户执行脚本。
su gpadmin
. /usr/local/greenplum-db-6.13.0/greenplum_path.sh
(2)编辑gpinitsystem_config文件(参考的是/usr/local/greenplum-db-6.13.0/docs/cli_help/gpconfigs/gpinitsystem_config 这里建议自己生成)
vi gpinitsystem_config
# 数据库的代号
ARRAY_NAME="Greenplum Data Platform"
# 数据库的数据节点名称文件
MACHINE_LIST_FILE=./hostfile_segments
# 指定Primary Segment的数据目录
declare -a DATA_DIRECTORY=(/data/greenplum_data/primary /data/greenplum_data/primary) #一台机器几个节点建立几个文件
# Master 所在机器的Hostname
MASTER_HOSTNAME=mdw
# 指定Master的数据目录
MASTER_DIRECTORY=/data/greenplum_data/gpmaster
# Segment的名称前缀
SEG_PREFIX=gpseg
# Primary Segment骑士的端口号
PORT_BASE=6000
# Master的端口
MASTER_PORT=5432
# Mirror Segment起始的端口号
MIRROR_PORT_BASE=43000
# Primary Segment 主备同步的起始端口号
REPLICATION_PORT_BASE=34000
#Mirror Segment主备同步的起始端口号
MIRROR_REPLICATION_PORT_BASE=44000
# Bash版本
TRUSTED_SHELL=ssh
CHECK_POINT_SEGMENTS=8
# 字符集
ENCODING=UNICODE
# Mirror Segment的数据目录
declare -a MIRROR_DATA_DIRECTORY=(/data/greenplum_data/mirror /data/greenplum_data/mirror)
# 初始化数据库名称
DATABASE_NAME=postgres
(3)编辑hostfile_allhosts
这个文件包含你所有的节点。
mdw
sdw1
sdw2
(4)编辑hostfile_segments
这个文件包含你所有的数据节点。我的mdw节点不存放数据,故不当数据节点。
sdw1
sdw2
(5) 配置 .bash_profile 环境变量
vi /home/gpadmin/.bash_profile
source /usr/local/greenplum/greenplum-db-6.13.0/greenplum_path.sh
export MASTER_DATA_DIRECTORY=/data/greenplum_data/gpmaster/gpseg-1
export PGPORT=5432
• 使之生效
source /home/gpadmin/.bash_profile
(6)初始化集群
gpinitsystem -c /home/gpadmin/gpinitsystem_config
到这里就安装完成了!!!!
11.开启远程访问数据库(mdw节点)
vi /data/greenplum_data/gpmaster/gpseg-1/pg_hba.conf
host all all 0.0.0.0/0 trust #加在文件最后
12.访问数据库
psql -p 5432 postgres
2.安装pgAdmin4 (选择性安装)
gp专用数据库管理软件
三、常用命令
1.配置
gpstop -u #在不停止集群情况下,修改reload配置文件
gpstate –m | -e # 查看集群状态
gpstop –a –r # 重启集群
gpstop –a # 重启集群
2.使用
GreenPlum 集群常用命令
GreenPlum 数据库操作常用命令
GreenPlum 集群常用命令
四、insert性能优化
调整的参数如下:
(1)全局死锁检测开关
在Greenplum 6中其默认关闭,需要打开它才可以支持并发更新/删除操作;
gpconfig -c gp_enable_global_deadlock_detector -v on
(2) 禁用GPORCA优化器(据说GPDB6默认的优化器为:GPORCA) **查询时开启**
gpconfig -c optimizer -v off
(3)关闭日志
此GUC减少不必要的日志,避免日志输出对I/O性能的干扰。
gpconfig -c log_statement -v none
greenplum 6.13.0 | 测试结果 |
---|---|
默认参数 | 1w / 46468ms |
调成后参数 | 1w / 3764ms |
五、体系架构初学习
- Greenplum介绍
- 镜像介绍>>>>>>>>segment 镜像机制详解>>>>>>>>添加镜像步骤
- Greenplum扩容节点步骤
- 分布键学习
参考链接:
https://www.jianshu.com/p/3aa44b38e3af
https://www.cnblogs.com/scoter2008/p/5928972.html
https://www.cnblogs.com/FreeFire/p/13298076.html
https://blog.csdn.net/u012878005/article/details/81237602