本文主要包含greenplum数据库,greenplum数据库下载,greenplum数据库教程,greenplum,greenplum官网等服务器相关知识,网友希望可以进行参考
Greenplum数据库扩容实务(上)-准备工作,greenplum实务
任何分布式系统都要面对的事儿就包括扩容,不然分布式系统存在的意义就大打折扣了,这篇就介绍一下对GP进行扩容的准备过程,事实上,扩容的实施是个非常简单的过程,主要要做的就是准备。
准备
创建主机信息文件
用GP管理员OS用户gpadmin创建6个主机信息文件:
- /home/gpadmin/20150523exp/currenthosts:当前已经存在的所有主机的主机名
- /home/gpadmin/20150523exp/currentnodes:当前已经存在的所有主机的主机名,以及seg node使用的地址,示例如下:
sdw1
sdw1-1
sdw1-2
sdw2
sdw2-1
sdw2-2
...
- /home/gpadmin/20150523exp/newhosts:本次扩容的新主机的主机名
- /home/gpadmin/20150523exp/newnodes:本次扩容的新主机的主机名,以及seg node使用的地址
- /home/gpadmin/20150523exp/allhosts:新的旧的加一起的主机名
- /home/gpadmin/20150523exp/allnodes:新的旧的加一起的主机名 ,以及seg node使用的地址
操作系统安装和配置
- 安装新主机OS:所有配置应与已有主机一致,在特殊情况下(比如新服务器不再支持旧的OS),可按照GP本身的OS兼容性列表在新主机上使用较高版本OS。
- root登陆mdw(GP master),编写一个脚本/root/uetchosts20150523.sh:
#!/bin/bash
echo –e >> /etc/hosts
echo "#20150523 expand hosts begin" >> /etc/hosts
echo 192.168.1.26 sdw26-1 sdw26 >> /etc/hosts
echo 192.168.2.26 sdw26-2 >> /etc/hosts
echo –e >> /etc/hosts
echo 192.168.1.27 sdw27-1 sdw27 >> /etc/hosts
echo 192.168.2.27 sdw27-2 >> /etc/hosts
...
echo "#20150523 expand hosts end" >> /etc/hosts
echo –e >> /etc/hosts
- 用此脚本更新所有现有主机的hosts文件,添加新主机的域名解析
chmod 755 /root/uetchosts20150523.sh
gpscp -f /home/gpadmin/currenthosts uetchosts20150523.sh =:/root/
gpssh -f /home/gpadmin/currenthosts /root/uetchosts20150523.sh
- 更新新增主机的hosts:root登陆新增的8台服务器,将现有seg host的/etc/hosts文件中关于GP主机的定义全部添加到/etc/hosts中
交换root授权信息
root登陆mdw,按照提示输入新服务器的root密码
source /usr/local/greenplum-db/greenplum_path.sh
gpssh-exkeys -e /home/gpadmin/20150523exp/currentnodes -x /home/gpadmin/20150523exp/newnodes
创建gpadmin用户
gpssh -f /home/gpadmin/20150523exp/newhosts
=> useradd gpadmin -d /home/gpadmin
=> echo p@ssword | passwd gpadmin --stdin
=> ll /home
=> exit
su - gpadmin
gpssh-exkeys -e /home/gpadmin/20150523exp/currentnodes -x /home/gpadmin/20150523exp/newnodes
exit
更改操作系统配置并创建数据文件路径
gpscp -f /home/gpadmin/20150523exp/newhosts /etc/security/limits.conf =:/etc/security/limits.conf
gpscp -f /home/gpadmin/20150523exp/newhosts /etc/security/limits.d/90-nproc.conf =:/etc/security/limits.d/90-nproc.conf
gpscp -f /home/gpadmin/20150523exp/newhosts /etc/sysctl.conf =:/etc/sysctl.conf
gpssh -f /home/gpadmin/20150523exp/newhosts
=> sysctl –p
=> mkdir /data1/primary /data1/mirror /data2/primary /data2/mirror /data3/primary /data3/mirror /data4/primary /data4/mirror
=> chown -R gpadmin:gpadmin /data1'
=> chown -R gpadmin:gpadmin /data2'
=> chown -R gpadmin:gpadmin /data3'
=> chown -R gpadmin:gpadmin /data4'
=> ll /
=> ll /data1 /data2 /data3 /data4
=> exit
gpssh -f /home/gpadmin/20150523exp/allhosts
=> echo 'deadline' > /sys/block/sda/queue/scheduler
=> echo 'deadline' > /sys/block/sdb/queue/scheduler
=> echo 'deadline' > /sys/block/sdc/queue/scheduler
=> echo 'deadline' > /sys/block/sr0/queue/scheduler
=> exit
安装GP并设置设备
unset OPENSSL_CONF
gpseginstall -f /home/gpadmin/20150523exp/newnodes -u gpadmin -p p@ssword
gpssh -f /root/20150523exp/newhosts ll $GPHOME
编译发布uuid
如果使用了一些第三方的包,需要在新的seg host进行编译发布,此处以uuid进行举例:
source /usr/local/greenplum-db/greenplum_path.sh
gpscp -f /home/gpadmin/20150523exp/newhosts /home/gpadmin/uuid-1.6.2.tar.gz =:/home/gpadmin
gpssh -f /home/gpadmin/20150523exp/newhosts
=> source /usr/local/greenplum-db/greenplum_path.sh
=> cd /home/gpadmin
=> tar zxvf uuid-1.6.2.tar.gz
=> cd uuid-1.6.

