Pivotal Greenplum Database 6.6.0安装1.准备阶段

一.资料准备阶段

官网资源需要注册及登录

下载所需要的安装资源:

https://network.pivotal.io/products/pivotal-gpdb#/releases/495851/file_groups/2253

官网说明文档

https://gpdb.docs.pivotal.io/6-6/main/index.html

6.6对应的模块版本

微信截图_20200410091608.png

安装资料来源资料来源:https://blog.csdn.net/king13127/article/details/83989704

二.安装Pivotal Greenplum Database

1.1安装环境

centos-release-7-4.1708.el7.centos.x86_64
注意本案用的是Pivotal Greenplum Database并非gitlab上的greenplum!

1.2集群准备

172.16.2.225
172.16.2.226
172.16.2.227
172.16.2.228
172.16.2.229

其中227由于历史原因,故用227做master,其余节点用做segment

2.1 修改各节点名称

2.1.1 修改主节点hosts

说明:这里主要是为之后Greenplum能够在各个节点之间相互通信做准备

vi /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
172.16.2.227    smdw
172.16.2.225    sdw1
172.16.2.226    sdw2
172.16.2.228    sdw3
172.16.2.229    sdw4

2.1.2 复制到子节点

配置了主节点文件之后复制到其余子节点

scp /etc/hosts  sdw1:/etc

2.1.3 依次修改各个节点/etc/sysconfig/network文件

同时修改各个子节点和主节点 /etc/sysconfig/network这个文件如下(这个不同节点配置不一样,无法复制,所有机器都要修改)

hostname
 vim /etc/hostname


vi /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=sdw1

这里的HOSTNAME一定要与/etc/hosts中的主机名一致,最终可以使用ping sdw1节点名称命令测试是否配置好了

2.2 修改系统内核/etc/sysctl.conf文件

(说明:相同的配置先在主节点节点上配置,配置完成后在2.5小节中复制到其它节点上)

# kernel.shmall = _PHYS_PAGES / 2 # See Shared Memory Pages
kernel.shmall = 4095704
# kernel.shmmax = kernel.shmall * PAGE_SIZE 
kernel.shmmax =16776003584
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 = 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 = 3 # See System Memory
vm.dirty_ratio = 10
#vm.dirty_background_bytes = 1610612736
#vm.dirty_bytes = 4294967296
2.2.1Shared Memory Pages
kernel.shmall =(_PHYS_PAGES / 2)
kernel.shmmax =(_PHYS_PAGES / 2)* PAGE_SIZE
用命令计算
[root@ares ~]# clear
[root@ares ~]# echo $(expr $(getconf _PHYS_PAGES) / 2) 
4095704
[root@ares ~]# echo $(expr $(getconf _PHYS_PAGES) / 2 \* $(getconf PAGE_SIZE))
16776003584
2.2.2 Segment Host Memory

vm.overcommit_memoryOS使用Linux内核参数来确定可以为进程分配多少内存。对于Greenplum数据库,此参数应始终设置为2。

vm.overcommit_ratio是用于应用程序进程的RAM的百分比,其余部分保留给操作系统。在Red Hat Enterprise Linux上,默认值为50。

2.2.3 端口设定

为避免在Greenplum初始化期间Greenplum数据库与其他应用程序之间的端口冲突,请记下操作系统参数指定的端口范围 net.ipv4.ip_local_port_range。使用初始化Greenplum时gpinitsystem群集配置文件,请不要在该范围内指定Greenplum数据库端口。
例如,net.ipv4.ip_local_port_range = 10000 65535,将Greenplum数据库基本端口号设置为这些值。

2.2.4

对于具有64GB以上内存的主机系统,建议以下设置:

vm.dirty_background_ratio = 0
vm.dirty_ratio = 0
vm.dirty_background_bytes = 1610612736#1.5GB
vm.dirty_bytes = 4294967296#4GB

对于具有64GB或更少内存的主机系统,请卸下 vm.dirty_background_bytes 和 vm.dirty_bytes 并设置两个 比 这些值的参数:

vm.dirty_background_ratio = 3
vm.dirty_ratio = 10
增加vm.min_free_kbytes 确保 PF_MEMALLOC 来自网络和存储驱动程序的请求很容易满足。这对于具有大量系统内存的系统尤其重要。在这些系统上,默认值通常太低。使用此awk命令进行设置vm.min_free_kbytes 到建议的系统物理内存的3%:
awk 'BEGIN {OFMT = "%.0f";} /MemTotal/ {print "vm.min_free_kbytes =", $2 * .03;}' /proc/meminfo >> /etc/sysctl.conf 
sysctl -p(让配置生效)

2.3系统资源限制

修改进程数/etc/security/limits.d/90-nproc.conf文件
(说明:相同的配置先在主节点节点上配置,配置完成后在2.5小节中复制到其它节点上)
对于Red Hat Enterprise Linux(RHEL)和CentOS系统,请在 /etc/security/limits.d/90-nproc.conf 文件(RHEL / CentOS 6)或 /etc/security/limits.d/20-nproc.conf 文件(RHEL / CentOS 7)覆盖 Limits.conf文件。确保替代文件中的所有参数均设置为所需值。Linux模块pam_limits 通过读取以下内容来设置用户限制 Limits.conf文件,然后再覆盖文件。有关PAM和用户限制的信息,请参阅PAM和 pam_limits。

执行 ulimit -u每个段主机上的命令显示每个用户可用的最大进程数。验证返回值为131072。

在 /etc/security/limits.conf 文件:

# End of file
* soft nofile 65536
* hard nofile 65536
* soft nproc 131072
* hard nproc 131072

用户级别
1、查看,-n默认查看的是soft limit,这个值是从/etc/security/limits.conf文件的* soft nofile 655350来的

$ ulimit -n
170000

查看hard limit

$ ulimit -Hn
170000

2、设置

临时性:

通过ulimit -Sn设置最soft limit,注意soft limit必须小于hard limit

$ ulimit -Sn 160000

通过ulimit -Hn设置最Hard limit

$ ulimit -Hn 160000

同时设置soft limit和hard limit。对于非root用户只能设置比原来小的hard limit。

ulimit -n 180000

/etc/security/limits.d/90-nproc.conf file (RHEL/CentOS 6) or
 /etc/security/limits.d/20-nproc.conf file (RHEL/CentOS 7) 

vi /etc/security/limits.d/90-nproc.conf
*          soft    nproc     131072
root       soft    nproc     unlimited

2.4禁用SELinux和防火墙软件

(说明:相同的配置先在主节点节点上配置,配置完成后在2.5小节中复制到其它节点上)

vi /etc/selinux/config 
 
 
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of these two values:
#     targeted - Targeted processes are protected,
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted


检查状态
[root@master ~]# sestatus
SELinux status:                 disabled

关闭防火墙: service iptables stop
关闭开机启动防火墙:chkconfig iptables off
查看防火墙状态 service iptables status

2.4磁盘I / O设置

每个磁盘设备文件都应预读(块开发)值16384。要验证磁盘设备的预读值:

# /sbin/blockdev --getra devname
For example:

# /sbin/blockdev --getra /dev/sdb
To set blockdev (read-ahead) on a device:

设置预读值

# /sbin/blockdev --setra bytes devname
For example:

# /sbin/blockdev --setra 16384 /dev/sdb

另外一种方案是写入启动
One method to set the blockdev value at system startup is by adding the /sbin/blockdev --setra command in the rc.local file. For example, add this line to the rc.local file to set the read-ahead value for the disk sdb.
/sbin/blockdev --setra 16384 /dev/sdb
On systems that use systemd, you must also set the execute permissions on the rc.local file to enable it to run at startup. For example, on a RHEL/CentOS 7 system, this command sets execute permissions on the file.
# chmod +x /etc/rc.d/rc.local
Restart the system to have the setting take effect.

2.5磁盘I / O调度程序及透明大页面(THP)

只写实现过程

grubby --update-kernel=ALL --args="elevator=deadline"
grubby --update-kernel=ALL --args="transparent_hugepage=never"

或者编辑/boot/grub/grub.conf
重启生效

检查THP

cat /sys/kernel/mm/*transparent_hugepage/enabled

2.6IPC对象删除 centos 6x略过

vim /etc/systemd/logind.conf
将注释取消
RemoveIPC=no

启用

service systemd-logind restart

2.7SSH连接阈值

修改/etc/ssh/sshd_config 或者 /etc/sshd_config

MaxStartups 10:30:200 或者
MaxStartups 200
MaxSessions 200

重启生效

systemctl restart sshd.service
service sshd restart

如果命令grubby不生效

修改 /etc/default/grub

GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet transparent_hugepage=never"

运行

grub2-mkconfig -o /boot/grub2/grub.cfg

重启

2.8同步系统时钟

在主控主机上,以root用户身份登录并编辑 /etc/ntp.conf文件。设置服务器指向数据中心的NTP时间服务器的参数。例如(如果 10.6.220.20 是您的数据中心NTP服务器的IP地址):

server 10.6.220.20

在每个细分受众群主机上,以root用户身份登录并修改 /etc/ntp.conf文件。设置第一个服务器参数指向主控主机 mdw ,第二个服务器参数指向备用主控主机smdw。例如:

server mdw prefer
server smdw

在备用主控主机上,以root用户身份登录并编辑 /etc/ntp.conf文件。设置第一个服务器参数指向主要主控主机 mdw ,第二个服务器参数指向数据中心的NTP时间服务器。例如:

server mdw prefer
server 10.6.220.20

在主控主机上,使用NTP守护程序同步所有Greenplum主机上的系统时钟。例如,使用gpssh:

#gpssh -f /home/gpadmin/conf/hostlist -v -e'ntpd'

2.9 创建gpadmin账号

2.9.1 创建gpadmin组和账号

注意:如果您要在RHEL 7.2或CentOS 7.2上安装Greenplum数据库,并想通过创建gpadmin 用户作为系统帐户,请同时提供 -r 选项(将用户创建为系统帐户)和 -m 选项(创建主目录) 用户添加命令。在Ubuntu系统上,您必须使用 -m 与选项 用户添加 命令为用户创建主目录。

groupmod -g 520 gpadmin
usermod -u 520 gpadmin

groupadd gpadmin
# useradd gpadmin -r -m -g gpadmin
# passwd gpadmin
New password: 
Retype new password: 

注意:请确保gpadmin用户在每台主机上具有相同的用户ID(uid)和组ID(gid)号,以防止使用脚本或服务进行身份验证或许可的问题。例如,如果将Greenplum数据库备份到某些联网的文件干或存储设备,则可能会失败。gpadmin 用户在不同的段主机上具有不同的uid或gid号。当您创建 gpadmin 组和用户,您可以使用 groupadd -g 指定gid号的选项和 useradd -u选项以指定uid编号。使用命令id gpadmin 看到的uid和gid gpadmin 当前主机上的用户。

2.9.2配置ssh

切换到gpadmin

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:

在密码短语提示下,按Enter键,以便SSH连接不需要输入密码短语。

(Optional) Grant sudo access to the gpadmin user.
On Red Hat or CentOS, run visudo and uncomment the %wheel group entry.

visudo

%wheel        ALL=(ALL)       NOPASSWD: ALL

Make sure you uncomment the line that has the NOPASSWD keyword.

Add the gpadmin user to the wheel group with this command.

usermod -aG wheel gpadmin

你可能感兴趣的:(Pivotal Greenplum Database 6.6.0安装1.准备阶段)