Greenplum Database 6(开源版) 安装升级卸载及日常维护手册

安装

安装前准备

准备安装包
https://github.com/greenplum-db/gpdb/releases
开源版本可以在以上地址根据需要选择版本及对应的安装包进行下载

操作系统 (本次以RHEL7为例)
Greenplum Database 6支持以下操作系统平台:
Red Hat Enterprise Linux 64-bit 8.x (as of Greenplum Database version 6.20)
Red Hat Enterprise Linux 64-bit 7.x (See the following Note.)
Red Hat Enterprise Linux 64-bit 6.x
CentOS 64-bit 7.x
CentOS 64-bit 6.x
Ubuntu 18.04 LTS
Oracle Linux 64-bit 7, using the Red Hat Compatible Kernel (RHCK)

注意:请勿在Greenplum 数据库主机上安装杀毒软件,因为该软件可能会造成额外的CPU和IO负载,干扰数据库的操作。

文件系统
XFS是Greenplum数据库数据目录的最佳实践文件系统,XFS应该用下列选项挂载:
例:/etc/fstab 下添加如下挂载

[root@gpmaster ~]#  cat >>/etc/fstab
/dev/sdb   /data   xfs  rw,nodev,noatime,nobarrier,inode64   0 0

I/O配置
在含有数据目录的设备上,设置blockdev预读尺寸为16384。 下列命令设置/dev/sdb的预读值大小

[root@gpmaster ~]# /sbin/blockdev --setra 16384 /dev/sdb

应该为所有数据目录设备设置deadline IO调度器。

[root@gpmaster ~] # echo "deadline" >/sys/block/sdb/queue/scheduler
[root@gpmaster ~] # cat /sys/block/sdb/queue/scheduler
 noop anticipatory [deadline] cfq 

在/etc/security/limits.conf文件中增加OS文件和进程的最大数量

[root@gpmaster ~] # cat >>/etc/security/limits.conf
* soft  nofile 524288
* hard  nofile 524288
* soft  nproc 131072
* hard  nproc 131072

依赖软件(需先配置yum源)

readline readline-devel libxmal-devel python-devel perl perl-devel krb5 krb5-devel apr  apr-devel libcurl libcurl-devel 
libxml2 libyaml zlib zlib-devel openssl openssl-devel openssl-libs bzip2 bzip2-devel postgresql-devel ntp

防火墙设置

systemctl stop firewalld.service
systemctl disable firewalld.service
systemctl status firewalld

SELinux设置

cp /etc/sysconfig/selinux /etc/sysconfig/selinux_bak
sed -i 's/SELINUX=.*/SELINUX=disabled/' /etc/selinux/config

内核参数设置

shmall=`echo $(expr $(getconf _PHYS_PAGES) / 2)`
shmmax=`echo $(expr $(getconf _PHYS_PAGES) / 2 \* $(getconf PAGE_SIZE))`
min_free_kbytes=`awk 'BEGIN {OFMT = "%.0f";} /MemTotal/ {print "vm.min_free_kbytes =",$2 * .03;}' /proc/meminfo`

vim /etc/sysctl.conf
kernel.shmall = $shmall
kernel.shmmax = $shmmax
kernel.shmmni = 4096
vm.overcommit_memory = 2
vm.overcommit_ratio = 95
net.ipv4.ip_local_port_range = 1025 65535
net.ipv4.ip_local_reserved_ports=65330 
kernel.sem = 500 2048000 200 4096
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
net.core.somaxconn = 32768
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
vm.vfs_cache_pressure = 1024
echo "${min_free_kbytes}" >>/etc/sysctl.conf

透明大页设置

cp /etc/default/grub /etc/default/grub_bak
sed -i 's/GRUB_CMDLINE_LINUX="/GRUB_CMDLINE_LINUX="elevator=deadline transparent_hugepage=never /' /etc/default/grub
sed -i 's/#RemoveIPC/RemoveIPC/' /etc/systemd/logind.conf

主机名及/etc/hosts文件设置,例如

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
#::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.126.201  master     mdw   GPFHOST
192.168.126.202  host1      sdw
192.168.126.203  host2      seg01

创建用户gpadmin,设置密码(所有节点,密码自定义)

useradd gpadmin
passwd gpadmin

创建数据目录

mkdir /data/master  --(只有主节点,其他为所有节点)
mkdir /data/primary
mkdir /data/mirror
chown -R gpadmin:gpadmin  /data

安装软件(所有节点)

rpm -ivh open-source-greenplum-db-6.13.0-rhel7-x86_64.rpm
--可以安装到默认安装目录(/usr/local/greenplum-db-6.13.0),也可以自定义(需先创建)
rpm -ivh open-source-greenplum-db-6.13.0-rhel7-x86_64.rpm --prefix=/opt/gpdb
并将安装目录赋权给gpadmin用户
chown -R gpadmin:gpadmin /opt/gpdb

以上步骤使用root用户执行,可以将以上步骤整理到脚本,更方便快捷安装。

以下步骤用gpadmin用户执行
配置环境变量(根据具体情况设置)

su - gpadmin
vim .bashrc
export GPHOME=/opt/gpdb
export MASTER_DATA_DIRECTORY=/data/master/gpseg-1
export PGDATABASE=postgres
export PGPORT=5432
source ${GPHOME}/greenplum_path.sh

gpadmin用户配置免密(master 节点执行)

ssh-keygen -t rsa  
ssh-copy-id host1
ssh-copy-id host2

cat >host.list
master
host1
host2

gpssh-exkeys -f host.list

检查网络(例子为测试环境,如果是万兆网络,应该在1000MB/sec以上)

 gpcheckperf -f host.list -r n -d /tmp >net_test.out
 
cat net_test.out
/opt/gp4/bin/gpcheckperf -f host.list -r n -d /tmp

-------------------
--  NETPERF TEST
-------------------

====================
==  RESULT
====================
Netperf bisection bandwidth test
master -> host1 = 324.970000
host1-> master = 379.360000
host2 -> master = 389.390000
master ->  host2 = 397.100000

Summary:
sum = 1490.82 MB/sec
min = 324.97 MB/sec
max = 397.10 MB/sec
avg = 372.71 MB/sec
median = 389.39 MB/sec

[Warning] connection between gp-master and gp-host1 is no good

检查I/O(例子为测试环境,不同磁盘不同读写速度)

gpcheckperf -f host.list -r ds -D -d /data -v  2048000000 >io.out 

 cat io.out
[Info] sh -c 'cat /proc/meminfo | grep MemTotal'
MemTotal:        3861364 kB

/opt/gpdb/greenplum-db-6.13.0/bin/gpcheckperf -f host.list -r ds -D -d /data -v 2048000000
--------------------
  SETUP 2022-08-06T20:41:26.505312
--------------------
[Info] verify python interpreter exists
[Info] /opt/gpdb/greenplum-db-6.13.0/bin/gpssh -f host.list 'python -c print'
[Info] making gpcheckperf directory on all hosts ...
[Info] /opt/gpdb/greenplum-db-6.13.0/bin/gpssh -f host.list 'rm -rf  /data/gpcheckperf_$USER ; mkdir -p  /data/gpcheckperf_$USER'
[Info] copy local /opt/gpdb/greenplum-db-6.13.0/bin/lib/multidd to remote /data/gpcheckperf_$USER/multidd
[Info] /opt/gpdb/greenplum-db-6.13.0/bin/gpscp -f host.list /opt/gpdb/greenplum-db-6.13.0/bin/lib/multidd =:/data/gpcheckperf_$USER/multidd
[Info] /opt/gpdb/greenplum-db-6.13.0/bin/gpssh -f host.list 'chmod a+rx /data/gpcheckperf_$USER/multidd'

--------------------
--  DISK WRITE TEST
--------------------
[Info] /opt/gpdb/greenplum-db-6.13.0/bin/gpssh -f host.list 'time -p /data/gpcheckperf_$USER/multidd -i /dev/zero -o /data/gpcheckperf_$USER/ddfile -B 32768'

--------------------
--  DISK READ TEST
--------------------
[Info] /opt/gpdb/greenplum-db-6.13.0/bin/gpssh -f host.list 'time -p /data/gpcheckperf_$USER/multidd -o /dev/null -i /data/gpcheckperf_$USER/ddfile -B 32768'

--------------------
--  STREAM TEST
--------------------
[Info] copy local /opt/gpdb/greenplum-db-6.13.0/bin/lib/stream to remote /data/gpcheckperf_$USER/stream
[Info] /opt/gpdb/greenplum-db-6.13.0/bin/gpscp -f host.list /opt/gpdb/greenplum-db-6.13.0/bin/lib/stream =:/data/gpcheckperf_$USER/stream
[Info] /opt/gpdb/greenplum-db-6.13.0/bin/gpssh -f host.list 'chmod a+rx /data/gpcheckperf_$USER/stream'
[Info] /opt/gpdb/greenplum-db-6.13.0/bin/gpssh -f host.list /data/gpcheckperf_$USER/stream
--------------------
  TEARDOWN
--------------------
[Info] /opt/gpdb/greenplum-db-6.13.0/bin/gpssh -f host.list 'rm -rf  /data/gpcheckperf_$USER'

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值