greenplum学习 第一弹

背景:

linux7系统

greenplum-db-6.16.2-rhel7-x86_64.rpm

安装流程:

注意:建议联网,如果不联网的话,一定使用代理服务器

安装流程:

1)关闭防火墙(所有机器)

- 关闭防火墙(所有机器)
  iptables  (centos6.x)
  关闭:service iptables stop
  永久关闭:chkconfig iptables off
- 检查firewalld (centos 7.x)
  关闭:systemctl stop firewalld
  永久关闭 :systemctl disable firewalld

2)关闭SELINUX(所有机器)

[root@mdw ~]# vi /etc/selinux/config
确保SELINUX=disabled

3)配置/etc/hosts (所有机器)

为之后GP在各个节点之间相互通信做准备。
修改各台主机的主机名称。 一般建议的命名规则如下: 项目名_gp_节点
      Master :  dis_gp_mdw
      Standby Master :  dis_gp_smdw
      Segment Host :  dis_gp_sdw1  dis_gp_sdw2  dis_gp_sdw3 以此类推
      如果Standby也搭建在某Segment host下,则命名为:dis_gp_sdw3_smdw

[root@mdw ~]# vi /etc/hosts
添加每台机器的ip 和hostname,确保所有机器的/etc/hosts中包含以下信息:
10.16.162.166 dis-gp-mdw
10.16.162.151 dis-gp-sdw1
10.16.162.152 dis-gp-sdw2
10.16.162.153 dis-gp-sdw3-smdw

4)修改主机名

Centos7.x    vi /etc/hostname
Centos6.x    vi /etc/sysconfig/network
修改完之后   reboot机器

5)配置sysctl.conf(所有机器)

kernel.shmall = 197951838 # echo $(expr $(getconf _PHYS_PAGES) / 2)
 kernel.shmmax = 810810728448 # echo $(expr $(getconf _PHYS_PAGES) / 2 \* $(getconf PAGE_SIZE))
 kernel.shmmni = 4096
 vm.overcommit_memory = 2
 vm.overcommit_ratio = 75 #vm.overcommit_ratio = (RAM - 0.026 * gp_vmem_rq) / RAM #gp_vmem_rq = ((SWAP + RAM) – (7.5GB + 0.05 * RAM)) / 1.7
 net.ipv4.ip_local_port_range = 10000 65535
 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
 #vm.min_free_kbytes = 487119#awk 'BEGIN {OFMT = "%.0f";} /MemTotal/ {print "vm.min_free_kbytes =", $2 * .03;}' /proc/meminfo

 #对于大于64GB的主机,加上下面4行
 vm.dirty_background_ratio = 0
 vm.dirty_ratio = 0
 vm.dirty_background_bytes = 1610612736 # 1.5GB
 vm.dirty_bytes = 4294967296 # 4GB

 #对于小于64GB的主机删除dirty_background_bytes dirty_bytes,加上下面2行
 vm.dirty_background_ratio = 3
 vm.dirty_ratio = 10

 #vm.min_free_kbytes在内存 > 64GB系统的时候可以设置,一般比较少设置此参数。
 #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 
 #不要设置 vm.min_free_kbytes 超过系统内存的5%,这样做可能会导致内存不足。

6)配置资源限制参数(所有机器)

在/etc/security/limits.conf文件下增加以下参数
* soft nofile 524288
* hard nofile 524288
* soft nproc 131072
* hard nproc 131072
“*” 星号表示所有用户
noproc     是代表最大进程数 
nofile     是代表最大文件打开数

RHEL / CentOS 6.X
修改:/etc/security/limits.d/90-nproc.conf 文件的nproc
[root@mdw ~]# vi /etc/security/limits.d/90-nproc.conf
           确保    *  soft  nproc  131072

RHEL / CentOS 7.X 修改:
修改:/etc/security/limits.d/20-nproc.conf 文件的nproc
[root@mdw ~]# vi /etc/security/limits.d/20-nproc.conf
           确保    *  soft  nproc  131072

ulimit -u 命令显示每个用户可用的最大进程数 max user processes,验证返回值为131072.

7)XFS挂载选项

XFS相比较ext4具有如下优点:
XFS的扩展性明显优于ext4,ext4的单个文件目录超过200W个性能下降明显
ext4作为传统文件系统确实非常稳定,但是随着存储需求的越来越大,ext4渐渐不在适应
由于历史磁盘原因,ext4的inode个数限制(32位),最多只能支持40多亿个文件,单个文件最大支持到16T
XFS使用的是64位管理空间,文件系统规模可以达到EB级别,XFS是基于B+Tree管理元数据
GP 需要使用XFS的文件系统,RHEL/CentOS 7 和Oracle Linux将XFS作为默认文件系统,SUSE/openSUSE已经为XFS做了长期支持。

centos6.x需要先安装xfs包
centos7.x不需要先安装

例如挂载新xfs步骤:
1.[root@mdw ~]# fdisk /dev/sdd
   然后跟着n,p,1提示做下去,最后wq保存退出

   [root@mdw ~]# mkfs.xfs /dev/sdd1 
2.挂载目录
   [root@mdw ~]# mount /dev/sdd1 /data/master
3.设置自动挂载
   [root@mdw ~]# vi /etc/fstab
   /dev/sdd1 /data xfs rw,noatime,inode64,allocsize=16m 0 0

8)磁盘I/O 预读大小设置

- 临时生效
    [root@mdw ~]# /sbin/blockdev --setra 16384 /dev/sda

 - 永久生效
    [root@mdw ~]# vi /etc/rc.d/rc.local
    blockdev --setra 16384 /dev/sdd*

9)修改rc.local 权限

必须在启动时可以运行 rc.local文件。
 例如,在RHEL / CentOS 7系统上,设置文件的执行权限。
 [root@mdw ~]# chmod + x /etc/rc.d/rc.local

10)磁盘I/O调度算法(确保是deadline)

centos7默认就是deadline
 [root@mdw ~]# more  /sys/block/sdd/queue/scheduler
 noop anticipatory [deadline] cfq
 如上所示,就不需要修改,否则按下面操作
 RHEL 6.x or CentOS 6.x  可以修改  /boot/grub/grub.conf,增加 elevator=deadline 例如:
 RHEL 7.x or CentOS 7.x, 使用 grub2  ,可以使用系统工具grubby来修改;
 [root@mdw ~]# grubby --update-kernel=ALL --args="elevator=deadline"
 重启后使用一下命令检查
 [root@mdw ~]# grubby --info=ALL

11)关闭Transparent Huge Pages (THP)

禁用THP,因为它会降低Greenplum数据库的性能。
 RHEL 6.x or CentOS 6.x 或更高版本默认情况下启用THP。在RHEL 6.x上禁用THP的一种方法是添加参transparent_hugepage=never 到/boot/grub/grub.conf:
 RHEL 7.x or CentOS 7.x, 使用 grub2  ,可以使用系统工具grubby来修改;
 [root@mdw ~]# grubby --update-kernel=ALL --args="transparent_hugepage=never"
 添加参数后,重启系统reboot。
 参数检查:
 [root@mdw ~]# cat /sys/kernel/mm/*transparent_hugepage/enabled
 always [never]

12)SSH连接阈值

 Greenplum数据库管理程序中的gpexpand‘ gpinitsystem、gpaddmirrors,使用 SSH连接来执行任务。在规模较大的Greenplum集群中,程序的ssh连接数可能会超出主机的未认证连接的最大阈值。发生这种情况时,会收到以下错误:ssh_exchange_identification:连接被远程主机关闭。
 为避免这种情况,可以更新 /etc/ssh/sshd_config 或者 /etc/sshd_config 文件的 MaxStartups 和 MaxSessions 参数
 MaxStartups 10:30:200
 重启sshd,使参数生效
 service sshd restart

13)同步集群时钟(NTP) (此项为操作,环境已经设置好ntp)

为了保证集群各个服务的时间一致,首先在master 服务器上,编辑 /etc/ntp.conf,配置时钟服务器为数据中心的ntp服务器。若没有,先修改master 服务器的时间到正确的时间,再修改其他节点的 /etc/ntp.conf,让他们跟随master服务器的时间。
 [root@mdw ~]# vi /etc/ntp.conf
 在server 最前面加上
 master:
 把server1,2,3,4全删
 改成 server xxx,可以问公司IT人员公司的时钟IP,如果没有就设置成
 server 1.cn.pool.ntp.org
 segment:
 server mdw prefer  # 优先主节点
 server smdw        # 其次standby 节点,若没有standby ,可以配置成数据中心的时钟服务器
 [root@mdw ~]# service ntpd restart  # 修改完重启ntp服务

如果不存在ntp 运行yum install ntp

14)检查字符集

[root@mdw greenplum-db]# echo $LANG
 en_US.UTF-8
 如果为zh_CN.UTF-8
 则要修改 CentOS 6.X   /etc/syscconfig/i18n
               CentOS 7.X   /etc/locale.conf

15)创建gpadmin用户(所有机器)

 在每个节点上创建gpadmin用户,用于管理和运行gp集群
 [root@mdw ~]# groupadd gpadmin
 [root@mdw ~]# useradd gpadmin -g gpadmin -s /bin/bash
 [root@mdw ~]# passwd gpadmin

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值