学习是一种信仰
分类: Mysql/postgreSQL
2015-09-30 17:45:43
greenplum的安装、配置
准备
上传greenplum软件(greenplum-db-4.3.2.0-build-1-RHEL5-x86_64)
网址 1 安装yum包
# yum install ed.x86_64 sed.x86_64
2 关闭iptables
# /sbin/chkconfig iptables off
3 关闭selinux
# vi /etc/sysconfig/selinux
SELINUX=disabled
4 修改 /etc/sysctl.conf
# vi /etc/sysctl.conf
kernel.shmmax = 68719476736
kernel.shmmni = 4096
kernel.shmall = 4294967296
kernel.sem = 250 512000 100 2048
kernel.sysrq = 1
kernel.core_uses_pid = 1
kernel.msgmnb = 65536
kernel.msgmax = 65536
kernel.msgmni = 2048
net.ipv4.tcp_syncookies = 1
net.ipv4.ip_forward = 0
net.ipv4.conf.default.accept_source_route = 0
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
5 修改/etc/security/limits.conf
# vi /etc/security/limits.conf
* soft nofile 65536
* hard nofile 65536
* soft nproc 131072
* hard nproc 131072
注意:对于RedHat6.x系统,还需要修改/etc/security/limits.d/90-nproc.conf文件中的配置,否则limit文件中的配置会被覆盖。
查看是否修改成功:ulimit -a
6、修改/etc/fstab
/dev/mapper/vg1-lvyazuo /PGDATA xfs nodev,noatime,inode64,allocsize=16m 0 0
7、修改/boot/grub/grub.conf,添加黑体部分的内容
kernel /vmlinuz-2.6.18-274.3.1.el5 ro root=LABEL=/
elevator=deadline crashkernel=128M@16M quiet console=tty1
console=ttyS1,115200 panic=30 transparent_hugepage=never
initrd /initrd-2.6.18-274.3.1.el5.img
8、reboot服务器
9、查看Disable Transparent Huge Pages (THP)的修改情况
# cat /sys/kernel/mm/redhat_transparent_hugepage/enabled
always [never]
10、设置read-ahead (blockdev)
/sbin/blockdev --getra devname
# /sbin/blockdev --getra /dev/sdb1
To set blockdev (read-ahead) on a device:
/sbin/blockdev --setra bytes devname
# /sbin/blockdev --setra 16384 /dev/sdb1
11 防止发生warning : Permanently added 问题,需要修改/etc/ssh/ssh_config文件
注释掉参数:
# StrictHostKeyChecking no
# UserKnownHostsFile /dev/null
二、安装greenplum
1、在master主机创建用户组及用户
# groupadd gpadmin
# useradd -g gpadmin -s /bin/bash -d /home/gpadmin gpadmin
# passwd gpadmin
2、master主机
# /bin/bash greenplum-db-4.3.2.0-build-1-RHEL5-x86_64.bin
缺省安装目录
/usr/local/greenplum-db-4.3.2.0
[root@gpslave local]# cd /usr/local
[root@gpslave local]# chown -R gpadmin:gpadmin greenplum-db-4.3.2.0
[root@gpslave local]# ln -s ./greenplum-db-4.3.2.0 greenplum-db
[root@gpslave local]# chown -R gpadmin:gpadmin greenplum-db
3、安装greenplum
$ su -
# source /usr/local/greenplum-db/greenplum_path.sh
#cd /home/gpadmin
创建hostfile_exkeys文件(包含所有节点)
# vi hostfile_exkeys
gpmaster
gpslave
segdb1
segdb2
segdb3
segdb4
# vi /etc/hosts文件
192.168.166.XX gpmaster
192.168.166.XX gpslave
192.168.166.XX segdb1
192.168.166.XX segdb2
192.168.166.XX segdb3
192.168.166.XX segdb4
安装文件到各个节点gpseginstall会自动更改权限
# gpssh-exkeys -f /home/gpadmin/hostfile_exkeys(注:会要求输入每个segment的root用户的密码)
在其它主机上创建gpadmin用户
#gpssh -f hostfile_exkeys '/usr/sbin/useradd gpadmin -d /home/gpadmin'
# gpssh -f hostfile_exkeys 'echo gpadmin_password | passwd gpadmin --stdin'
$su – gpadmin
$ source /usr/local/greenplum-db/greenplum_path.sh
$ gpssh-exkeys -f /home/gpadmin/hostfile_exkeys(注:会要求输入每个segment的gpadmin用户的密码)
$exit
# source /usr/local/greenplum-db/greenplum_path.sh
# gpseginstall -f /home/gpadmin/hostfile_exkeys -u gpadmin -p P@$$word
4、安装确认
$ su - gpadmin
$ source /usr/local/greenplum-db/greenplum_path.sh
$ gpssh -f hostfile_exkeys -e ls -l $GPHOME
如果提示输入密码,执行下面的命令重新交换秘钥
$ gpssh-exkeys -f hostfile_exkeys
5、创建存储区域
master主机
$ su -
# mkdir /PGDATA/gpmaster
# chown -R gpadmin:gpadmin /PGDATA
在standby创建目录
# source /usr/local/greenplum-db/greenplum_path.sh
# gpssh -h gpslave -e 'mkdir /PGDATA/gpmaster'
# gpssh -h gpslave -e 'chown -R gpadmin:gpadmin /PGDATA'
创建segment存储区域
#cd /home/gpadmin
创建hostfile_gpssh_segonly文件(仅包含segment节点)
#vi hostfile_gpssh_segonly
segdb1
segdb2
segdb3
segdb4
# source /usr/local/greenplum-db/greenplum_path.sh
# gpssh -f hostfile_gpssh_segonly -e 'mkdir -p /PGDATA/gpdata1/primary'
# gpssh -f hostfile_gpssh_segonly -e 'mkdir -p /PGDATA/gpdata2/primary'
# gpssh -f hostfile_gpssh_segonly -e 'mkdir -p /PGDATA/gpdata3/primary'
# gpssh -f hostfile_gpssh_segonly -e 'mkdir -p /PGDATA/gpdata4/primary'
# gpssh -f hostfile_gpssh_segonly -e 'mkdir -p /PGDATA/gpdata1/mirror'
# gpssh -f hostfile_gpssh_segonly -e 'mkdir -p /PGDATA/gpdata2/mirror'
# gpssh -f hostfile_gpssh_segonly -e 'mkdir -p /PGDATA/gpdata3/mirror'
# gpssh -f hostfile_gpssh_segonly -e 'mkdir -p /PGDATA/gpdata4/mirror'
# gpssh -f hostfile_gpssh_segonly -e 'chown -R gpadmin:gpadmin /PGDATA'
三 同步系统时钟
1、master主机
vi /etc/ntp.conf
server xxx.xx.xx.xx
2、segment主机
vi /etc/ntp.conf
server gpmaster prefer
server gpslave
3、standby主机
vi /etc/ntp.conf
server gpmaster prefer
server xx.xx.xx.xx
4、master主机
# gpssh -f hostfile_exkeys -v -e 'ntpd'
四、系统验证
1、验证操作系统参数
master主机
# su - gpadmin
$ source /usr/local/greenplum-db/greenplum_path.sh
$ gpcheck -f hostfile_exkeys -m gpmaster -s gpslave
2、验证硬件性能
验证网络性能
$ gpcheckperf -f hostfile_exkeys -r N -d /tmp > subnet1.out
$ gpcheckperf -f hostfile_exkeys -r N -d /tmp > subnet2.out
验证磁盘IO和内存
$ source /usr/local/greenplum-db/greenplum_path.sh
$ gpcheckperf -f hostfile_gpssh_segonly -r ds -D -d /PGDATA/primary -d /PGDATA/mirror
初始化greenplum
$ su – gpadmin
$mkdir gpconfigs
$ cp $GPHOME/docs/cli_help/gpconfigs/gpinitsystem_config /home/gpadmin/gpconfigs/gpinitsystem_config
$cd gpconfigs
$chmod 775 gpinitsystem_config
vi hostfile_gpinitsystem
segdb1
segdb2
segdb3
segdb4
vi gpinitsystem_config
ARRAY_NAME="EMC Greenplum DW"
SEG_PREFIX=segdb
PORT_BASE=40000
declare -a DATA_DIRECTORY=(/PGDATA/gpdata1/primary /PGDATA/gpdata2/primary /PGDATA/gpdata3/primary /PGDATA/gpdata4/primary)
MASTER_HOSTNAME=gpmaster
MASTER_DIRECTORY=/PGDATA/gpmaster
MASTER_PORT=5432
TRUSTED_SHELL=ssh
CHECK_POINT_SEGMENT=8
ENCODING=UNICODE
MIRROR_PORT_BASE=50000
REPLICATION_PORT_BASE=41000
MIRROR_REPLICATION_PORT_BASE=51000
declare -a MIRROR_DATA_DIRECTORY=(/PGDATA/gpdata1/mirror /PGDATA/gpdata2/mirror /PGDATA/gpdata3/mirror /PGDATA/gpdata4/mirror)
MACHINE_LIST_FILE=/home/gpadmin/hostfile_gpssh_segonly
$ cd ~
①$ gpinitsystem -c gpconfigs/gpinitsystem_config -h gpconfigs/hostfile_gpinitsystem
②$ gpinitsystem -c gpconfigs/gpinitsystem_config -h gpconfigs/hostfile_gpinitsystem -s gpslave -S
以上两种安装方式第二种需要主机数量大于segment数量,且直接启动启动了standby节点
$ su - gpadmin
$ vi ~/.bashrc
source /usr/local/greenplum-db/greenplum_path.sh
export MASTER_DATA_DIRECTORY=/PGDATA/gpmaster
export PGPORT=5432
export PGUSER=gpadmin
export PGDATABASE=default_login_database_name
$ source ~/.bashrc
复制到standby节点
$ cd ~
$ scp .bashrc standby_hostname:`pwd`
测试重新启动数据库
$gpstop –r