环境:centos6.5
软件:/srv/greenplum-db-4.3.8.1-build-1-RHEL5-x86_64.zip
目录规划:安装目录/opt/greenplum ---所有
数据目录/data/greenplum/gpmaster ---master节点
/data/greenplum/pri_data --- segment 节点主节点数据目录
/data/greenplum/mri_data --- segment节点镜像节点数据目录
系统:关闭iptables selinux
注:greenplum各节点之间通信相对复杂,建议直接关闭iptables和selinux
资源规划:192.168.3.82 --------GPMASTER
192.168.3.40 --------GPDATA1
192.168.3.41 --------GPDATA2
一.安装依赖包(所有节点)
yum -y install rsync coreutils glib2 lrzsz sysstat e4fsprogs xfsprogs ntp readline-devel zlib zlib-devel openssl openssl-devel pam-devel libxml2-devel libxslt-devel python-devel tcl-devel gcc make smartmontools flex bison perl perl-devel perl-ExtUtils* OpenIPMI-tools openldap openldap-devel logrotate gcc-c++ python-py
二.修改配置文件(所有节点)
# vi /etc/sysctl.conf
# vi /etc/security/limits.conf * soft nofile 131072 * hard nofile 131072 * soft nproc 131072 * hard nproc 131072 * soft memlock unlimited * hard memlock unlimited
service iptables stop chkconfig iptables off
setenforce 0 sed -i ‘s/SELINUX=enforcing/SELINUX=disabled/g‘/etc/selinux/config
修改磁盘IO调度算法
echo deadline > /sys/block/sda/queue/scheduler
echo deadline > /sys/block/sdb/queue/scheduler
修改磁盘块预读
blockdev --setra 16384 /dev/sd*
blockdev --setra 16384 /dev/dm-*
修改文件系统挂载选项
如果是ext4 ext4 mount option mount -o noatime,nodiratime,nobarrier,discard,nodelalloc,data=writeback /dev/sdb1 /data 如果是xfs rw,noatime,inode64,allocsize=16m 如果是ZFS set zfs:zfs_arc_max=0x600000000
字符集配置
sed -i ‘s/zh_CN.UTF-8/en_US.UTF-8/g‘ /etc/sysconfig/i18n
添加gpadmin用户
groupadd -g 530 gpadmin
useradd -g 530 -u 530 -m -d /home/gpadmin -s /bin/bash gpadmin
passwd gpadmin
密码输入
目录赋权
mkdir /opt/greenplum -p
mkdir /data/greenplum -p
chown -R gpadmin. /opt/greenplum
chown -R gpadmin. /data/greenplum
三:安装步骤 1.解压安装包 #unzip /srv/greenplum-db-4.3.8.1-build-1-RHEL5-x86_64.zip #./greenplum-db-4.3.8.1-build-1-RHEL5-x86_64.bin两步输入是否接受license--------yes/opt/greenplum/ -------------软件安装在/opt/greenplum
############默认安装在/usr/local/greenplum-db
安装成功提示installaction complete
以下操作是在master节点的gpadmin用户下操作
添加环境变量
#vim ~/.bash_profile
source /opt/greenplum/greenplum_path.sh
export MASTER_DATA_DIRECTORY=/data/greenplum/gpmaster/gpseg-1
#source ~/.bash_profile
2.创建GP安装配置文件并配置SSH互信
#mkdir /opt/greenplum/conf
#vim /opt/greenplum/conf/allnodes
GPMASTER
GPDATA1
GPDATA2
#vim /opt/greenplum/conf/nodes
GPDATA1
GPDATA2
#gpssh-exkeys -f /opt/greenplum/conf/allnodes
输入gpadmin用户会显示ssh互信完成
#gpssh -f /opt/greenplum/conf/allnodes -e ‘‘ 回车即可进入交互性界面。
3.软件分发
#cd /opt/greenplum/
#tar -zvcf gp.tar ./*
#gpscp -f /opt/greenplum/conf/nodes gp.tar =:/opt/greenplum
#gpssh -f /opt/greenplum/conf/nodes
=>cd /opt/greenplum
=>tar -xf gp.tar
创建数据目录
#mkdir /data/greenplum/gpmaster
#gpssh -f /opt/greenplum/conf/nodes
=>mkdir /data/greenplum/pri_data
=>mkdir /data/greenplum/mri_data
4.检查环境
#gpcheck -f /opt/greenplum/conf/allnodes -m GPMASTER -s GPDATA1
(1);greenplum对环境要求比较严格。可能会报出IO调度策略、系统参数修改、 ntp时间同步等问题。测试环境忽略了。生产环境部署一定注意
(2);如果出现某个segment节点不通,检查所有环境的hosts配置、防火墙、ssh互信
5.初始化greenplum的配置文件
模板在$GPHOME/docs/cli_help/gpconfigs下 可以找到gpinitsystem_config
vim /opt/greenplum/conf/initgp_config
# FILE NAME: initgp_config
# Configuration file needed by the gpinitsystem
################################################
#### REQUIRED PARAMETERS
################################################
####数据库代号
ARRAY_NAME="Greenplum"
####segment的名称前缀
SEG_PREFIX=gpseg
#### primary segment 起始地端口号
PORT_BASE=33000
#### primary segment数据目录
declare -a DATA_DIRECTORY=(/data/greenplum/pri_data /data/greenplum/pri_data)
#### master所在机器的hostname
MASTER_HOSTNAME=GPMASTER
#### master节点数据目录
MASTER_DIRECTORY=/data/greenplum/gpmaster
####master节点的端口
MASTER_PORT=2345
#### Shell utility used to connect to remote hosts.
TRUSTED_SHELL=/usr/bin/ssh
#### Maximum log file segments between automatic WAL checkpoints.
CHECK_POINT_SEGMENTS=8
#### Default server-side character set encoding.
ENCODING=UNICODE
################################################
#### OPTIONAL MIRROR PARAMETERS
################################################
#### mriior节点起始端口
MIRROR_PORT_BASE=43000
#### primary segment 主备起始端口
REPLICATION_PORT_BASE=34000
#### mriior segment 主备起始端口
MIRROR_REPLICATION_PORT_BASE=44000
#### mriior egment数据目录
declare -a MIRROR_DATA_DIRECTORY=(/data/greenplum/mri_data /data/greenplum/mri_data)
6.初始化数据库
gpinitsystem -c /opt/greenplum/conf/initgp_config -h /opt/greenplum/conf/nodes -B 8
(1):如果出错时在初始化segment节点。那么就还是环境问题。检查各个节点的环境变量、hosts文件等
(2):如果报错为gpstop失败。传参类型的错误,但是master节点的pg进程已经启动。找到master的postgresql.conf注释掉端口前面的#
7.启动关闭
gpstart -a 启动整个集群
gpstart -m 启动master节点
gpstop -a 关闭整个集群
gpstop -m 关闭master节点
gpstop -u 不关闭但是重新加载配置文件
8.修改参数
shared_buffers 建议由操作系统的15%慢慢往上加
work_mem 建议总内存的5%
temp_buffers 建议session中自己设置
本文出自 “Hiny_t的博客” 博客,请务必保留此出处http://hinyt.blog.51cto.com/12442113/1888037
原文地址:http://hinyt.blog.51cto.com/12442113/1888037