操作系统

支持如下操作系统:

RHEL/CentOS(x64) 6.x/7.x  、

Ubuntu 18.04 LTS 、

Oracle Linux x64 7 (using the Red Hat compatible Kernel)

Note

Important: Significant Greenplum Database performance degradation has been observed when enabling resource group-based workload management on RedHat 6.x and CentOS 6.x systems. This issue is caused by a Linux cgroup kernel bug. This kernel bug has been fixed in CentOS 7.x and Red Hat 7.x systems.

If you use RedHat 6 and the performance with resource groups is acceptable for your use case, upgrade your kernel to version 2.6.32-696 or higher to benefit from other fixes to the cgroups implementation.

Note: For Greenplum Database that is installed on Red Hat Enterprise Linux 7.x or CentOS 7.x prior to 7.3, an operating system issue might cause Greenplum Database that is running large workloads to hang in the workload. The Greenplum Database issue is caused by Linux kernel bugs.

RHEL 7.3 and CentOS 7.3 resolves the issue.

建议使用CentOS 7.3

禁用SELinux和firewall

建议的OS参数设置

hosts

要包括所有GP系统的机器名

sysctl.conf

# kernel.shmall = _PHYS_PAGES / 2 #  total amount of shared memory 
# `getconf  _PHYS_PAGES`
kernel.shmall = 197951838
# kernel.shmmax = kernel.shmall * PAGE_SIZE  # maximum size of a single shared memory segment in bytes 
# `getconf PAGE_SIZE`
kernel.shmmax = 810810728448
kernel.shmmni = 4096
vm.overcommit_memory = 2 # See Segment Host Memory
# 分配给进程的内存,对于GP来说,设置为2(always be set to 2)
vm.overcommit_ratio = 95 # See Segment Host Memory
# 用于应用进程的内存的百分比,RHEL默认是50

net.ipv4.ip_local_port_range = 10000 65535 # See Port Settings
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
vm.swappiness = 10
vm.zone_reclaim_mode = 0
vm.dirty_expire_centisecs = 500
vm.dirty_writeback_centisecs = 100

# See System Memory
# 对于>64GB内存的机器来说,建议如下设置
vm.dirty_background_ratio = 0
vm.dirty_ratio = 0
vm.dirty_background_bytes = 1610612736 #1.5G
vm.dirty_bytes = 4294967296 #4G
# 对于≤64GB内存的机器来说,移除vm.dirty_backupground_bytes和vm.dirty_bytes,并建议如下设置
vm.dirty_background_ratio = 3
vm.dirty_ratio = 10
vm.min_free_kbytes = 240273
# 建议设置为系统可用内存的3%  awk 'BEGIN {OFMT = "%.0f";} /MemTotal/ {print "vm.min_free_kbytes =", $2 * .03;}'
/proc/meminfo >> /etc/sysctl.conf

System Resources Limits

# vim /etc/security/limits.conf

* soft nofile 524288
* hard nofile 524288
* soft nproc 131072
* hard nproc 131072


XFS Mount Options

rw,nodev,noatime,nobarrier,inode64

Disk I/O settings

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

echo deadline > /sys/block/sdb/queue/scheduler

Transparent Huge Pages

echo never > /sys/kernel/mm/transparent_hugepage/enabled

IPC Object Removal

在/etc/systemd/logind.conf中设置RemoveIPC=no;

service systemd-logind restart

SSH connection threshold

硬件和网络


存储

必须使用XFS文件系统

Hadoop 发布

GP通过Greenplum Platform Extension Framework(PXF)来允许Access HDFS。

  • No labels