- 服务器准备,3台centos 7服务器,修改好主机名
- 192.168.68.134 master centos7 mstaer
- 192.168.68.131 gp1 segment节点
- 192.168.68.133 gp2 segment节点
- 192.168.68.133 gp3 stanby节点
- 所有服务器环境准备
- 创建用户名
- 创建用户组
- groupadd -g 530 gpadmin
- 创建用户
- useradd -g 530 -u530 -m -d /home/gpadmin -s /bin/bash gpadmin
- 设置密码
- passwd gpadmin
- 创建用户组
- 创建主要文件夹和修改属组和属主
- mkdir /usr/local/greenplum 软件安装目录 chown -R gpadmin.gpadmin /usr/local/greenplum/ mkdir -p /data/gpdata 数据文件目录 还配置目录 chown -R gpadmin.gpadmin /data/gpdata
- 关闭防火墙
- systemctl stop firewalld
- systemctl disable firewalld
- 关闭selinux,临时生效
- setenforce 0
- getenforce 检查selinux状态
- 永久生效 vim /etc/selinux/conf
- SELINUX=disabled
- 修改/etc/hosts
- 创建用户名
192.168.68.134 master
192.168.68.135 gp1
192.168.68.136 gp2
192.168.68.136 gp3
-
- 修改或添加/etc/sysctl.conf(三台)
- 增加下方参数
- kernel.shmmni = 4096 kernel.sem = 250 512000 100 2048 kernel.msgmni = 2048 net.ipv4.tcp_tw_recycle = 1 net.ipv4.tcp_max_syn_backlog = 4096 net.ipv4.conf.all.arp_filter = 1 net.ipv4.ip_local_port_range = 1025 65535 net.core.netdev_max_backlog = 10000 net.core.rmem_max = 2097152 net.core.wmem_max = 2097152 vm.overcommit_memory = 2
- 内核参数立即生效,配置文件要重启才生效
- sysctl -p
- 增加下方参数
- 配置/etc/security/limits.conf文件,添加以下内容(三台主机)
- 修改或添加/etc/sysctl.conf(三台)
* soft nofile 65536
* hard nofile 65536
* soft nproc 131072
* hard nproc 131072
-
- 设置预读块的值为16384(三台主机)
# /sbin/blockdev --getra /dev/sda 查看预读块,默认大小为8192
# /sbin/blockdev --setra 16384 /dev/sda 设置预读块 不是永久设置
-
- 设置磁盘访问I/O调度策略(三台主机)
#echo deadline > /sys/block/sda/queue/scheduler
# vim /boot/grub/menu.lst 在kernel 一行的最后面添加elevator=deadline
grubby --update-kernel=ALL --args="elevator=deadline" centos7
- 主节点上安装GP
- 下载指定版本rpm包
- 下载地址https://network.pivotal.io/products/pivotal-gpdb#/releases/242342
- 安装rpm包
- rpm -ivh --prefix=/usr/local/greenplum/ /tmp/greenplum-db-5.14.0-rhel6-x86_64.rpm
- 所有服务器切换到gpadmin
- su - gpadmin
- 创建配置文件gp_master(只在master上创建)
- mkdir /home/gpadmin/gpconf 基本配置文件
- cd /home/gpadmin/gpconf
- all_hosts(所有服务器)
- 下载指定版本rpm包
master
gp1
gp2
gp3
-
-
- vi seg_hosts(除了主master外所有服务器名)
-
gp1
gp2
gp3
-
-
- vi other_hosts(所有segment服务器名)
-
gp1
gp2
-
- 设置所有服务器gpadmin之间互相访问
- ssh-keygen -t rsa
- ssh-copy-id 192.168.68.134
- 在主节点上面运行下方命令,检查互信
- 载入gp的环境变量 source /usr/local/greenplum/greenplum-db/greenplum_path.sh
- gpssh-exkeys -f /home/gpadmin/gpconf/all_hosts(需要输入gpadmin密码)
- 没有报错,都是ok
- 如果执行失败 先删除原来有的/home/gpadmin/.ssh/known_hosts再执行命令后修改新生成的服务器名称
- 创建文件存放目录,用命令在所有文件中创建目录
- gpssh -f /home/gpadmin/gpconf/all_hosts
- =>cd /data/gpdata
- =>mkdir master mirror1 mirror2 primary1 primary2 master初始化数据库配置目录 创建两个primary和两个mirror节点
- 设置所有服务器gpadmin之间互相访问
- 从节点上安装GP软件,在主节点上运行
- 切换目录
- cd /home/gpadmin/gpconf
- 开始安装软件,程序会把安装后的软件在master上的所有文件打包,拷贝到其他服务器,解压
- gpseginstall -f other_hosts -u gpadmin -p 密码
- 修改所有服务器的gpadmin用户的~/.bashrc文件,在用bash登录时候会调用
- source /usr/local/greenplum/greenplum-db/greenplum_path.sh export MASTER_DATA_DIRECTORY=/data/gpdata/master/gpseg-1 export PGPORT=5432 export PGDATABASE=postgres
- 手动载入 source ~/.bashrc
- 数据库初始化,在master节点
- 拷贝一份官方模板文件 cp /usr/local/greenplum/greenplum-db/docs/cli_help/gpconfigs/gpinitsystem_config /home/gpadmin/gpconf/
- 修改属组属主 chown gpadmin.gpadmin /home/gpadmin/gpconf/gpinitsystem_config
- 修改文件 vi /home/gpadmin/gpconf/gpinitsystem_config
- PORT_BASE=33000 declare -a DATA_DIRECTORY=(/data/gpdata/primary1 /data/gpdata/primary2 ) MASTER_HOSTNAME=VoLTE-CL-38 MASTER_DIRECTORY=/data/gpdata/master TRUSTED_SHELL=/usr/bin/ssh MIRROR_PORT_BASE=43000 REPLICATION_PORT_BASE=34000 MIRROR_REPLICATION_PORT_BASE=44000 declare -a MIRROR_DATA_DIRECTORY=(/data/gpdata/mirror1 /data/gpdata/mirror2 ) MACHINE_LIST_FILE=/home/gpadmin/gpconf/seg_hosts
- 真是开始初始化,-h指定 sement 节点的文件 -s指定standby部署的服务器
- gpinitsystem -c /home/gpadmin/gpconf/gpinitsystem_config -h seg_hosts -s gp3
- 检查gp库启动,netstate -tnlp|grep 5432
- 登录gp,psql -d postgres
- 后记
- 测试数据库网络 gpcheckperf -f hostfile_exkeys -r N -d /tmp
- 修改配置文件生效命令 pg_ctl reload -D /data/gpdata/master/gpseg-1
- 测试硬盘速度 gpcheckperf -f /home/gpadmin/gpconf/seg_host -d /data/gpdata –v
- 主用节点挂了,切换备用节点 gpactivatestandby -d $MASTER_DATA_DIRECTORY
- 主用节点重新启动 ,重新加入集群 gpinitstandby -s master