一、资源规划
1.1 环境配置信息
名称 | 环境配置 |
---|---|
OS系统版本 | Linux 3.10.0-1127.el7.x86_64 |
OS配置信息 | 4C8G + 40G数据盘 |
GP版本 | greenplum-db-6.11.2 |
1.2 资源规划
主机 | IP | 角色 | 规划 |
---|---|---|---|
mdw | 172.16.104.11 | master | master节点 |
sdw1 | 172.16.104.12 | segment | seg1、seg2、mirror1、mirror2 |
sdw2 | 172.16.104.13 | segment | seg3、seg4、mirror3、mirror4 |
sdw3 | 172.16.104.14 | segment | seg5、seg6、mirror5、mirror6、master_standby |
二、操作系统配置
2.1 修改主机名
在GP中,一般习惯将master节点的机器称为 mdw ,将segment节点的机器称为 sdw ,在该步骤中我们配置好每个主机的hostname后,并修改其/etc/hosts文件。
# hostnamectl set-hostname sdw1 //修改主机名
# hostname //查看主机名
# reboot //重启服务器对hostname生效
# vi /etc/hosts //修改hosts文件
172.16.104.11 mdw
172.16.104.12 sdw1
172.16.104.13 sdw2
172.16.104.14 sdw3
2.2 关闭防火墙与selinux
1、 关闭防火墙
# systemctl status firewalld //查看防火墙状态
# systemctl stop firewalld //关闭防火墙
# systemctl disable firewalld //禁用防火墙
2、关闭selinux
# setenforce 0 && sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config //禁用selinux
# getenforce
# sestatus //查看selinux状态
2.3 挂载磁盘
-- 查看待挂载磁盘
# fdisk -l
-- 创建分区
# fdisk -u /dev/sda
命令(输入 m 获取帮助):p //查看分区信息
命令(输入 m 获取帮助):n //创建一个新的分区
分区号 (1-4,默认 1):1 //分区号
起始 扇区 (2048-83886079,默认为 2048): //默认
Last 扇区, +扇区 or +size{K,M,G} (2048-83886079,默认为 83886079): //默认
命令(输入 m 获取帮助):p //查看已分配的新分区
命令(输入 m 获取帮助):w //确认写入分区信息
The partition table has been altered!
-- 查看待挂载磁盘分区信息
# fdisk -l
-- 在新分区上创建xfs文件系统
# mkfs -t xfs /dev/sda1 //格式化,使用xfs进行格式化
-- 挂载磁盘
# mkdir -p /data //创建挂载磁盘目录
# mount /dev/sda1 /data //挂载磁盘
# echo `blkid /dev/sda1 | awk '{print $2}' | sed 's/\"//g'` /data xfs defaults 0 0 >> /etc/fstab //将挂载信息写入fstab文件
# df -Th //查看挂载磁盘信息
XFS相比较ext4具有如下优点:
- XFS的扩展性明显优于ext4,ext4的单个文件目录超过200W个性能下降明显
- ext4作为传统文件系统确实非常稳定,但是随着存储需求的越来越大,ext4渐渐不在适应
- 由于历史磁盘原因,ext4的inode个数限制(32位),最多只能支持40多亿个文件,单个文件最大支持到16T
- XFS使用的是64位管理空间,文件系统规模可以达到EB级别,XFS是基于B+Tree管理元数据
2.4 配置sysctl.conf
-- 修改sysctl.conf文件
# cat /etc/sysctl.conf
# kernel.shmall = _PHYS_PAGES / 2 =echo $(expr $(getconf _PHYS_PAGES) / 2)
kernel.shmall = 483888
# kernel.shmmax = kernel.shmall * PAGE_SIZE =echo $(expr $(getconf _PHYS_PAGES) / 2 \* $(getconf PAGE_SIZE))
kernel.shmmax = 1982005248
kernel.shmmni = 4096
vm.overcommit_memory = 2
vm.overcommit_ratio = 95
net.ipv4.ip_local_port_range = 10000 65535
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 = 0
#vm.dirty_ratio = 0
#vm.dirty_background_bytes = 1610612736
#vm.dirty_bytes = 4294967296
vm.dirty_background_ratio = 3
vm.dirty_ratio = 10
# 如果系统内存大于64G
# vm.dirty_background_ratio = 0
# vm.dirty_ratio = 0
# vm.dirty_background_bytes = 1610612736 # 1.5GB
# vm.dirty_bytes = 4294967296 # 4GB
# 如果系统内存小于64G
vm.dirty_background_ratio = 3
vm.dirty_ratio = 10
-- 根据计算写入 min_free_kbytes 值
# awk 'BEGIN {OFMT = "%.0f";} /MemTotal/ {print "vm.min_free_kbytes =", $2 * .03;}' /proc/meminfo >> /etc/sysctl.conf
-- 使参数生效
# sysctl -p
2.5 修改系统资源限制
增加操作系统文件数和进程数
-- RHEL/CentOS6修改/etc/security/limits.d/90-nproc.conf文件,RHEL/CentOS 7修改/etc/security/limits.d/20-nproc.conf文件
# cat /etc/security/limits.d/20-nproc.conf
* soft nproc 131072
root soft nproc unlimited
-- linux模块pam_limits 通过读取 limits.conf文件来设置用户限制,重启后生效
# cat /etc/security/limits.conf
* soft nofile 524288 //*表示所有用户,nofile表示最大文件数
* ha