Greenplum7在Linux8上安装

1. 环境要求
Greenplum 7 要求的操作系统为:
Red Hat Enterprise Linux 64-bit 8.7 or later
Oracle Linux 64-bit 8.7 or later, using the Red Hat Compatible Kernel (RHCK)
Rocky Linux 8.7 or later
需要安装以下依赖:

yum install apr apr-util bash bzip2 curl krb5 libcgroup-tools libcurl libevent libxml2 libyaml zlib openldap openssh-clients openssl openssl-libs perl python39 readline rsync R sed tar zip

2. 系统准备
1.关闭selinux和防火墙
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
systemctl stop firewalld
systemctl disable firewalld
setenforce 0
reboot
也可以使用命令行直接操作,个人习惯而已。

2.配置系统文件
2.1 主机文件
# vi /etc/hosts
10.201.14.1    mdw
10.201.14.2    sdw1
10.201.14.3    sdw2
10.201.14.4    sdw4

2.2 配置sysctl.conf
首先使用以下命令,查询配置值:
$ echo $(expr $(getconf _PHYS_PAGES) / 2) 
$ echo $(expr $(getconf _PHYS_PAGES) / 2 \* $(getconf PAGE_SIZE))
以本次主机配置,得出的值分别为:
65908170
269959864320
基本以上数值,配置sysctl.conf如下(注意最后一行是关于核心转储的配置):

kernel.shmall = 65908170
# kernel.shmmax = kernel.shmall * PAGE_SIZE
kernel.shmmax = 269959864320
kernel.shmmni = 4096
vm.overcommit_memory = 2 # See Segment Host Memory
vm.overcommit_ratio = 95 # See Segment Host Memory
net.ipv4.ip_local_port_range = 10000 65535 # See Port Settings
kernel.sem = 250 2048000 200 8192
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.ipv4.ipfrag_high_thresh = 41943040
net.ipv4.ipfrag_low_thresh = 31457280
net.ipv4.ipfrag_time = 60
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 # See System Memory
vm.dirty_ratio = 0
vm.dirty_background_bytes = 1610612736
vm.dirty_bytes = 4294967296
kernel.core_pattern=/var/core/core.%h.%t

2.3 配置资源限制/etc/security/limits.conf(最后一行是关于核心转储)
* soft nofile 524288
* hard nofile 524288
* soft nproc 131072
* hard nproc 131072
* soft  core unlimited

完成后执行以下命令使配置生效:
sysctl -p


2.4 XFS 加载选项
Greenplum 数据存储使用XFS文档格式。可以安装操作系统时就配置好,也可完成后加载磁盘即可:
mkdir /gpdata
格式化磁盘:
mkfs.xfs -f /dev/sdb
配置/etc/fstab文件
/dev/sdb     /gpdata      xfs     nodev,noatime,inode64 0 0
完成后执行以下命令检测是否正确。如无任何提示,则表示配置正确。否则应即时排查,以避免系统重启失败。
mount -a

2.5 文件 I/O配置
修改/etc/rc.d/rc.local文件,添加以下内容:
/sbin/blockdev --setra 32768 /dev/sdb

完成后执行
chmod +x /etc/rc.d/rc.local


2.5 磁盘I/O调度程序
本次使用Red Hat 8.8, SSD硬盘,因此配置为:
# grubby --update-kernel=ALL --args="elevator=none"
完成后,重启系统生效。

2.5 禁用透明大页
# grubby --update-kernel=ALL --args="transparent_hugepage=never"

2.6 IPC对象删除
修改/etc/systemd/logind.conf
RemoveIPC=no
完成后重启系统生效
service systemd-logind restart

2.7 修改SSH连接阀值/etc/ssh/sshd_config
MaxStartups 100:30:500
MaxSessions 200
完成后执行以下命令使配置生效
service sshd restart

2.8 同步系统时钟 - 此处略
3.安装Greenplum 7
3.1 配置用户
# groupadd gpadmin
# useradd gpadmin -r -m -g gpadmin
# passwd gpadmin
New password: <changeme>
Retype new password: <changeme>

3.2 切换到gpadmin用户,生成ssh密钥
$ su gpadmin
$ ssh-keygen -t rsa -b 4096
Generating public/private rsa key pair.
Enter file in which to save the key (/home/gpadmin/.ssh/id_rsa):
Created directory '/home/gpadmin/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:

3.3 向用户gpadmin授予 sudo 访问权限(生产环境可以不做此步骤)。
$ vi /etc/sudoers
%wheel        ALL=(ALL)       NOPASSWD: ALL
使用此命令将用户gpadmin添加到组wheel。
# usermod -aG wheel gpadmin

3.4 安装Greenplum 7
$ sudo yum install ./greenplum-db-7.0.0-beta.5-el8-x86_64.rpm
完成后,授权以下目录给gpadmin
$ sudo chown -R gpadmin:gpadmin /usr/local/greenplum*
$ sudo chgrp -R gpadmin /usr/local/greenplum*
$ sudo chown -R gpadmin:gpadmin /gpdata

3.5 配置免密登录
登录为gpadmin
$ su - gpadmin
$ source /usr/local/greenplum-db-7.0.0/greenplum_path.sh
使用以下命令将用户gpadmin的公钥添加到群集中所有其他主机上
$ ssh-copy-id mdw
$ ssh-copy-id sdw1
$ ssh-copy-id sdw2
$ ssh-copy-id sdw3

编写一个主机清单(本次服务器硬件较好,因此计划将所有主机均配置为Data Segment,以充分利用资源)
$ vi all_host
mdw
sdw1
sdw2
sdw3
然后执行:
$ gpssh-exkeys -f hostfile_exkeys


配置存储空间:
在mdw主机上,创建coordinator目录
$ mkdir -p /gpdata/coordinator

在所有主机上,创建数据存储目录
$ gpssh-ssh -f all_seg
> mkdir -p /gpdata/primary
> mkdir -p /gpdata/mirror

初始化数据库:
$ cp $GPHOME/docs/cli_help/gpconfigs/gpinitsystem_config  /home/gpadmin/gpconfigs/gpinitsystem_config
$ vi gpconfigs/gpinitsystem_config
SEG_PREFIX=gpseg
PORT_BASE=6000 
declare -a DATA_DIRECTORY=(/gpdata/primary /gpdata/primary /gpdata/primary /gpdata/primary /gpdata/primary /gpdata/primary /gpdata/primary /gpdata/primary /gpdata/primary /gpdata/primary)
COORDINATOR_HOSTNAME=mdw 
COORDINATOR_DIRECTORY=/data/coordinator 
COORDINATOR_PORT=5432 
TRUSTED SHELL=ssh
CHECK_POINT_SEGMENTS=8
ENCODING=UNICODE

完成后,执行以下命令初始化:

$ cd ~
$ gpinitsystem -c gpconfigs/gpinitsystem_config -h all_seg -y
完成后,显示以下内容即为成功初始化
=> Greenplum Database instance successfully created.

最后一步,配置greenplum参数

复制 
$ vi ~/.bashrc
source /usr/local/greenplum-db/greenplum_path.sh
export COORDINATOR_DATA_DIRECTORY=/gpdata/coordinator/gpseg-1
export PGPORT=5432
export PGUSER=gpadmin
export PGDATABASE=gpadmin
export LD_PRELOAD=/lib64/libz.so.1 ps


完成后,source ~/.bashrc使配置生效即可。
-----------------------------------
©著作权归作者所有:来自51CTO博客作者greenbeam的原创作品,请联系作者获取转载授权,否则将追究法律责任
Greenplum 7 Beta 5 安装及问题
https://blog.51cto.com/u_1264026/7056925