MangoCool

RHEL6系统安装Greenplum单机版,初始化与测试

2016-01-15 14:29:27   作者:MangoCool   来源:MangoCool

系统要求和设置:

1、关闭防火墙:

$ /sbin/chkconfig iptables off
$ /sbin/chkconfig --list iptables
如下输出,就ok了:
iptables 0:off 1:off 2:off 3:off 4:off 5:off 6:off

2、设置/etc/selinux/config:

SELINUX=disabled

3、在/etc/sysctl.conf 文件中加入有关共享内存与网络参数配置:

net.ipv4.ip_forward = 0
net.ipv4.conf.default.accept_source_route = 0
kernel.sysrq = 1
kernel.core_uses_pid = 1
net.ipv4.tcp_syncookies = 1
kernel.msgmnb = 65536
kernel.msgmax = 65536
kernel.sem = 250 64000 100 512
kernel.shmmax = 500000000
kernel.shmmni = 4096
kernel.shmall = 4000000000
kernel.sem = 250 64000 100 512
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_max_syn_backlog = 4096
net.core.netdev_max_backlog = 10000
vm.overcommit_memory = 2
net.ipv4.conf.all.arp_filter = 1

4、在/etc/security/limits.conf 中加入限制参数:

* soft nofile 65536
* hard nofile 65536
* soft nproc 131072
* hard nproc 131072


创建用户及用户组:

1、创建greenplum用户组:

$ groupadd gpadmin

2、创建greenplum用户、设置密码:

$ useradd -g gpadmin gpadmin
$ passwd gpadmin
$ New password: <gpadmin_password>
$ Retype new password: <gpadmin_password>


编译安装:

1、下载 Greenplum Database 源代码:

$ git clone https://github.com/greenplum-db/gpdb 

2、安装依赖库Greenplum Database 编译和运行依赖于各种系统库和Python库,需要先安装这些依赖:

$ sudo yum install curl-devel bzip2-devel python-devel openssl-devel
$ wget https://bootstrap.pypa.io/get-pip.py 
$ sudo python get-pip.py
$ sudo pip install psi lockfile paramiko setuptools epydoc

3、编译 Greenplum Database 源代码并安装,假定安装到 $HOME/greenplum-db 目录下,进入gpdb目录执行命令:

$ ./configure --with-openssl --with-python --enable-debug --enable-depend --prefix=$HOME/greenplum-db
$ make
$ make install 


初始化 Greenplum Database 集群:

源码安装后,需要初始化数据库。本例为单机版,所以master和数据节点都在一台服务器上。包括1个master,2个segment,2个mirror。

1、改变greenplum安转目录的owner:

$ chown -R gpadmin  /usr/local/greenplum-db   
$ chgrp -R gpadmin  /usr/local/greenplum-db

2、编辑 /etc/hosts:

127.0.0.1       mdw
127.0.0.1       sdw

3、切换成gpadmin用户,创建master和segment主机上的数据存放目录:

$ mkdir /home/gpadmin/masterdata
$ mkdir /home/gpadmin/segmentdata
$ mkdir /home/gpadmin/segdatamirror

4、创建包含所有主机名的文件 /home/gpadmin/all_hosts:

mdw
sdw

5、含segment 主机名的文件 /home/gpadmin/seg_hosts:

sdw

6、将MASTER_DATA_DIRECTORY加入环境中,修改gpadmin用户的.bash_profile:

source /usr/local/greenplum-db/greenplum_path.sh
MASTER_DATA_DIRECTORY=/home/gpadmin/masterdata/gpseg-1  
export MASTER_DATA_DIRECTORY
export PGPORT=5432
export PGDATABASE=testdb

7、配置参数 vi /home/gpadmin/gpinitsystem_config:

ARRAY_NAME="EMC Greenplum DW"
SEG_PREFIX=gpseg
PORT_BASE=33000
declare -a DATA_DIRECTORY=(/home/gpadmin/segmentdata /home/gpadmin/segmentdata)
MASTER_HOSTNAME=mdw
MASTER_DIRECTORY=/home/gpadmin/masterdata
MASTER_PORT=5432
MACHINE_LIST_FILE=/home/gpadmin/seg_hosts
TRUSTED_SHELL=ssh
CHECK_POINT_SEGMENTS=8
ENCODING=UNICODE
MIRROR_PORT_BASE=43000
REPLICATION_PORT_BASE=34000
MIRROR_REPLICATION_PORT_BASE=44000
declare -a MIRROR_DATA_DIRECTORY=(/home/gpadmin/segdatamirror /home/gpadmin/segdatamirror)

8、把所有主机建立信任关系:

$ gpssh-exkeys -f /home/gpadmin/all_hosts

9、运行配置文件初始化greenplum数据库:

$ gpinitsystem -c /home/gpadmin/gpinitsystem_config

这个初始化过程中,会提示:Continue with Greenplum creation Yy/Nn,当然输入Y or y 就可以了。

10、初始化成功后,Greenplum会自动启动,可以这么查看进程:

ps -e|grep postgres


启动、停止与测试:

1、启动服务(以gpadmin的身份启动):

$ gpstart

2、进入shell:

$ psql postgres

3、创建一个新数据库:

# create database testDB;

4、创建一个角色:

# create role gpadmin with password 'gpadmin';

5、修改密码:

# alter role gpadmin with password 'gpadmin';

6、创建表:

# create table test01 (a int, b text) distributed by (a);

7、插入数据:

# insert into test01 values(1, 'hello');
# insert into test01 values(2, 'greenplum');
# insert into test01 values(3, 'pivotal'),(3,'haha');

8、查询:

# select * from test01;
 a |     b
---+-----------
 1 | hello
 3 | pivotal
 3 | haha
 2 | greenplum
(4 rows)

9、查看数据分布:

testdb=# select gp_segment_id, count(*) from test01 group by 1;
 gp_segment_id |  count
---------------+---------
             3 | 1
             0 | 1
             1 | 1
             2 | 1
(4 rows)

10、退出:

# \q
11、停止数据库:
$ gpstop

至此,Greenplum单机版的安装与测试就此结束,有叙述不正确的地方请及时指正,欢迎交流。

标签: RHEL6 Greenplum 安装

分享:

上一篇JDBC访问Greenplum示例

下一篇Json格式数据字符串转List<Map>集合和Map集合

关于我

崇尚极简,热爱技术,喜欢唱歌,热衷旅行,爱好电子产品的一介码农。

座右铭

当你的才华还撑不起你的野心的时候,你就应该静下心来学习,永不止步!

人生之旅历途甚长,所争决不在一年半月,万不可因此着急失望,招精神之萎葸。

Copyright 2015- 芒果酷(mangocool.com) All rights reserved. 湘ICP备14019394号

免责声明:本网站部分文章转载其他媒体,意在为公众提供免费服务。如有信息侵犯了您的权益,可与本网站联系,本网站将尽快予以撤除。