首页 > 代码库 > Greenplum集群安装(测试环境)

Greenplum集群安装(测试环境)

环境: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=http://www.mamicode.com/writeback  /dev/sdb1 /data>
字符集配置

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

Greenplum集群安装(测试环境)