安装配置Greenplum

摘要:
1、 规划1。服务器:192.168.0.191gpdb01#master192.168.0.192gpdb02#primarysegment,mirrorsegment192.168.0.193gpdb03#primarysement,mirrorsegment192.168.0.194gpdb04#primarysegement,mirrorsergment192.168.0.195gpdb05#

一、规划

1、服务器:
192.168.0.191   gpdb01        # master
192.168.0.192   gpdb02        # primary segment 、 mirror segment
192.168.0.193   gpdb03        # primary segment 、 mirror segment
192.168.0.194   gpdb04        # primary segment 、 mirror segment
192.168.0.195   gpdb05        # standy

2、安装基本服务

yum -y install vim ed

二、配置

1、关闭防火墙

sed -i '/SELINUX=enforcing/d' /etc/selinux/config
sed -i '/SELINUX=disabled/d' /etc/selinux/config
echo "SELINUX=disabled" >> /etc/selinux/config

sed -e 's/SELINUX=enforcing/SELINUX=disabled/d' /etc/selinux/config

systemctl stop firewalld
chkconfig firewalld off

2、配置/etc/hosts

192.168.0.191   gpdb01
192.168.0.192   gpdb02
192.168.0.193   gpdb03
192.168.0.194   gpdb04
192.168.0.195   gpdb05

3、创建用户

groupadd gpadmin
useradd -g gpadmin gpadmin
echo "gpadmin" | passwd --stdin gpadmin
id gpadmin

三、以root用户在master节点安装greenplum

1、准备安装文件

greenplum-db-4.3.5.1-build-1-RHEL5-x86_64.bin

2、创建安装目录

mkdir -p /opt/greenplum
chown -R gpadmin:gpadmin /opt/greenplum/

3、安装greenplum

./greenplum-db-4.3.5.1-build-1-RHEL5-x86_64.bin
... ...
... ...
********************************************************************************
Do you accept the Pivotal Database license agreement? [yes|no]
********************************************************************************

yes

********************************************************************************
Provide the installation path for Greenplum Database or press ENTER to
accept the default installation path: /usr/local/greenplum-db-4.3.5.1
********************************************************************************

/opt/greenplum/greenplum-db-4.3.5.1

********************************************************************************
Install Greenplum Database into </opt/greenplum/greenplum-db-4.3.5.1>? [yes|no]
********************************************************************************

yes

********************************************************************************
/opt/greenplum/greenplum-db-4.3.5.1 does not exist.
Create /opt/greenplum/greenplum-db-4.3.5.1 ? [yes|no]
(Selecting no will exit the installer)
********************************************************************************

yes

Extracting product to /opt/greenplum/greenplum-db-4.3.5.1

********************************************************************************
Installation complete.
Greenplum Database is installed in /opt/greenplum/greenplum-db-4.3.5.1

Pivotal Greenplum documentation is available
for download at http://docs.gopivotal.com/gpdb
********************************************************************************

安装目录如下:

[root@gpdb01 greenplum]# pwd
/opt/greenplum
[root@gpdb01 greenplum]# ll
total 0
lrwxrwxrwx.  1 root root  22 Mar  2 05:34 greenplum-db -> ./greenplum-db-4.3.5.1
drwxr-xr-x. 11 root root 189 Mar  2 05:34 greenplum-db-4.3.5.1
[root@gpdb01 greenplum]# ll greenplum-db/
total 264
drwxr-xr-x. 3 gpadmin gpadmin   4096 May 15  2015 bin
drwxr-xr-x. 2 gpadmin gpadmin     64 May 15  2015 demo
drwxr-xr-x. 5 gpadmin gpadmin     52 May 15  2015 docs
drwxr-xr-x. 2 gpadmin gpadmin     44 May 15  2015 etc
drwxr-xr-x. 3 gpadmin gpadmin     20 May 15  2015 ext
-rw-r--r--. 1 gpadmin gpadmin  43025 May 15  2015 GPDB-LICENSE.txt
-rw-r--r--. 1 root    root       680 Mar  2 05:34 greenplum_path.sh
drwxr-xr-x. 6 gpadmin gpadmin   4096 May 15  2015 include
drwxr-xr-x. 9 gpadmin gpadmin   8192 May 15  2015 lib
-rw-r--r--. 1 gpadmin gpadmin 193083 May 15  2015 LICENSE.thirdparty
drwxr-xr-x. 2 gpadmin gpadmin   4096 May 15  2015 sbin
drwxr-xr-x. 3 gpadmin gpadmin     24 May 15  2015 share
[root@gpdb01 greenplum]#

4、应用greenplum的环境变量

source /opt/greenplum/greenplum-db/greenplum_path.sh

5、配置hostlist和segmentlist

cd /opt/greenplum/greenplum-db
mkdir conf
cat conf/hostlist
gpdb01
gpdb02
gpdb03
gpdb04
gpdb05

cat conf/segmentlists
gpdb02
gpdb03
gpdb04

6、使用gpssh-exkeys打通所有服务器

gpssh-exkeys -f ./conf/hostlist
[STEP 1 of 5] create local ID and authorize on local host

[STEP 2 of 5] keyscan all hosts and update known_hosts file

[STEP 3 of 5] authorize current user on remote hosts
   ... send to gpdb02
   ***
   *** Enter password for gpdb02:
   ... send to gpdb03
   ... send to gpdb04
   ... send to gpdb05

[STEP 4 of 5] determine common authentication file content

[STEP 5 of 5] copy authentication files to all remote hosts
   ... finished key exchange with gpdb02
   ... finished key exchange with gpdb03
   ... finished key exchange with gpdb04
   ... finished key exchange with gpdb05

[INFO] completed successfully

打通服务器后可以使用gpssh进行批量操作了:

gpssh -f ./conf/hostlist
Note: command history unsupported on this machine ...
=> pwd
[gpdb05] /home/gpadmin
[gpdb04] /home/gpadmin
[gpdb01] /home/gpadmin
[gpdb03] /home/gpadmin
[gpdb02] /home/gpadmin
=>

7、将安装后的软件分发的每一台服务器上并创建相应目录:

tar -cf greenplum-db-4.3.5.1.tar ./greenplum-db-4.3.5.1
gpscp -f /opt/greenplum/greenplum-db/conf/hostlist ../greenplum-db-4.3.5.1.tar =:/opt/greenplum
gpssh -f /opt/greenplum/greenplum-db/conf/hostlist
Note: command history unsupported on this machine ...
=> cd /opt/greenplum
[gpdb05]
[gpdb04]
[gpdb01]
[gpdb03]
[gpdb02]
=> tar -xf greenplum-db-4.3.5.1.tar
[gpdb05]
[gpdb04]
[gpdb01]
[gpdb03]
[gpdb02]
=> ln -s /opt/greenplum/greenplum-db-4.3.5.1 /opt/greenplum/greenplum-db
[gpdb05]
[gpdb04]
[gpdb01]
[gpdb03]
[gpdb02]
=> mkdir -p /home/gpadmin/gpdata/gpmaster
[gpdb05]
[gpdb04]
[gpdb01]
[gpdb03]
[gpdb02]
=> mkdir -p /home/gpadmin/gpdata/gpdatap1
[gpdb05]
[gpdb04]
[gpdb01]
[gpdb03]
[gpdb02]
=> mkdir -p /home/gpadmin/gpdata/gpdatam1
[gpdb05]
[gpdb04]
[gpdb01]
[gpdb03]
[gpdb02]
=>

8、配置环境变量:

vim ~/.bash_profile

source /opt/greenplum/greenplum-db/greenplum_path.sh
export MASTER_DATA_DIRECTORY=/home/gpadmin/gpdata/gpmaster/gpseg-1
export PGPORT=2345
export PGDATABASE=chavin

9、初始化greenplum配置文件

cp $GPHOME/docs/cli_help/gpconfigs/gpinitsystem_config ./conf/gpinitsystem_config

cat conf/gpinitsystem_config

ARRAY_NAME="Greenplum"
SEG_PREFIX=gpseg
PORT_BASE=40000
declare -a DATA_DIRECTORY=(/home/gpadmin/gpdata/gpdatap1)
MASTER_HOSTNAME=gpdb01
MASTER_DIRECTORY=/home/gpadmin/gpdata/gpmaster
MASTER_PORT=2345
TRUSTED_SHELL=ssh
CHECK_POINT_SEGMENTS=8
ENCODING=UNICODE
MIRROR_PORT_BASE=50000
REPLICATION_PORT_BASE=41000
MIRROR_REPLICATION_PORT_BASE=51000
declare -a MIRROR_DATA_DIRECTORY=(/home/gpadmin/gpdata/gpdatam1)
#DATABASE_NAME=name_of_database
MACHINE_LIST_FILE=/opt/greenplum/greenplum-db/conf/segmentlists

10、初始化数据库

gpinitsystem -c ./conf/gpinitsystem_config -s gpdb05

gpstate -s

$ psql -d postgres
psql (8.2.15)
Type "help" for help.

postgres=# create database chavin;
CREATE DATABASE

-- 测试表

drop table if exists dept;
create table dept
(
deptno int primary key,
dname varchar(14),
loc varchar(13)
);
insert into dept(deptno,dname,loc) values(10,'ACCOUNTING','NEW YORK');
insert into dept(deptno,dname,loc) values(20,'RESEARCH','DALLAS');
insert into dept(deptno,dname,loc) values(30,'SALES','CHICAGO');
insert into dept(deptno,dname,loc) values(40,'OPERATIONS','BOSTON');


$ psql
psql (8.2.15)
Type "help" for help.

chavin=# create table dept
chavin-# (
chavin(# deptno int primary key,
chavin(# dname varchar(14),
chavin(# loc varchar(13)
chavin(# );
NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index "dept_pkey" for table "dept"
CREATE TABLE
chavin=# insert into dept(deptno,dname,loc) values(10,'ACCOUNTING','NEW YORK');
INSERT 0 1
chavin=# insert into dept(deptno,dname,loc) values(20,'RESEARCH','DALLAS');
INSERT 0 1
chavin=# insert into dept(deptno,dname,loc) values(30,'SALES','CHICAGO');
INSERT 0 1
chavin=# insert into dept(deptno,dname,loc) values(40,'OPERATIONS','BOSTON');
INSERT 0 1
chavin=#

启动关闭数据库:
gpstart -a
gpstop -a

出现的问题:

1、如果第一次初始化失败,再次初始化报如下错误:

20180302:08:00:01:002185 gpinitsystem:gpdb01:gpadmin-[WARN]:-Have lock file /tmp/.s.PGSQL.2345.lock but no process running on port 2345
20180302:08:00:01:gpinitsystem:gpdb01:gpadmin-[FATAL]:-Found indication of postmaster process on port 2345 on Master host Script Exiting!

删除/tmp目录下的隐含文件/tmp/.s.PGSQL.2345.lock后,重新初始化即可。

2、重新初始化出现如下错误:

20180302:18:49:37:003425 gpinitsystem:gpdb01:gpadmin-[INFO]:-Waiting for parallel processes batch [1], please wait...
.....................................................................................
20180302:18:51:03:003425 gpinitsystem:gpdb01:gpadmin-[INFO]:------------------------------------------------
20180302:18:51:03:003425 gpinitsystem:gpdb01:gpadmin-[INFO]:-Parallel process exit status
20180302:18:51:03:003425 gpinitsystem:gpdb01:gpadmin-[INFO]:------------------------------------------------
20180302:18:51:03:003425 gpinitsystem:gpdb01:gpadmin-[INFO]:-Total processes marked as completed           = 0
20180302:18:51:03:003425 gpinitsystem:gpdb01:gpadmin-[INFO]:-Total processes marked as killed              = 0
20180302:18:51:03:003425 gpinitsystem:gpdb01:gpadmin-[WARN]:-Total processes marked as failed              = 6 <<<<<
20180302:18:51:03:003425 gpinitsystem:gpdb01:gpadmin-[INFO]:------------------------------------------------
20180302:18:51:03:003425 gpinitsystem:gpdb01:gpadmin-[INFO]:-Commencing parallel build of mirror segment instances
20180302:18:51:03:003425 gpinitsystem:gpdb01:gpadmin-[INFO]:-Spawning parallel processes    batch [1], please wait...
......
20180302:18:51:03:003425 gpinitsystem:gpdb01:gpadmin-[INFO]:-Waiting for parallel processes batch [1], please wait...
........
20180302:18:51:12:003425 gpinitsystem:gpdb01:gpadmin-[INFO]:------------------------------------------------
20180302:18:51:12:003425 gpinitsystem:gpdb01:gpadmin-[INFO]:-Parallel process exit status
20180302:18:51:12:003425 gpinitsystem:gpdb01:gpadmin-[INFO]:------------------------------------------------
20180302:18:51:12:003425 gpinitsystem:gpdb01:gpadmin-[INFO]:-Total processes marked as completed           = 0
20180302:18:51:12:003425 gpinitsystem:gpdb01:gpadmin-[INFO]:-Total processes marked as killed              = 0
20180302:18:51:12:003425 gpinitsystem:gpdb01:gpadmin-[WARN]:-Total processes marked as failed              = 6 <<<<<
20180302:18:51:12:003425 gpinitsystem:gpdb01:gpadmin-[INFO]:------------------------------------------------
20180302:18:51:12:003425 gpinitsystem:gpdb01:gpadmin-[FATAL]:-Errors generated from parallel processes
20180302:18:51:12:003425 gpinitsystem:gpdb01:gpadmin-[INFO]:-Dumped contents of status file to the log file
20180302:18:51:12:003425 gpinitsystem:gpdb01:gpadmin-[INFO]:-Building composite backout file
20180302:18:51:12:gpinitsystem:gpdb01:gpadmin-[FATAL]:-Failures detected, see log file /home/gpadmin/gpAdminLogs/gpinitsystem_20180302.log for more detail Script Exiting!
20180302:18:51:12:003425 gpinitsystem:gpdb01:gpadmin-[WARN]:-Script has left Greenplum Database in an incomplete state
20180302:18:51:12:003425 gpinitsystem:gpdb01:gpadmin-[WARN]:-Run command /bin/bash /home/gpadmin/gpAdminLogs/backout_gpinitsystem_gpadmin_20180302_184756 to remove these changes
20180302:18:51:12:003425 gpinitsystem:gpdb01:gpadmin-[INFO]:-Start Function BACKOUT_COMMAND
20180302:18:51:12:003425 gpinitsystem:gpdb01:gpadmin-[INFO]:-End Function BACKOUT_COMMAND

这是因为缺少ed依赖包,通过yum -y install ed后重启服务器,可以解决。

3、gpstart启动报错如下:

20180302:20:33:28:003078 gpstart:gpdb01:gpadmin-[ERROR]:-gpstart error: Do not have enough valid segments to start the array.

这个时候需要检查一下shared_buffers设置改小点,就行了

免责声明:文章转载自《安装配置Greenplum》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇嵌入式&amp;amp;iOS:回调函数(C)与block(OC)传 参/函数 对比【开发笔记】- linux下将rpm包转为deb包下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

分享一个自定义的console类 让你不再纠结JS中的调试代码的兼容

分享一个自定义的console类 让你不再纠结JS中的调试代码的兼容 在写JS的过程中,为了调试我们常常会 写很多 console.log、console.info、console.group、console.warn、console.error代码来查看JS 的运行情况,但发布时又因为IE不支持console,又要去掉这些代码,一不小心就会出错 问题...

RobotFramework自动化测试框架-移动手机自动化测试Open Application关键字的使用

在AppiumLibrary库中,Open Application关键字用来打开一个待测试移动APP。 示例1:连接本机已经打开的appium服务端,打开一个待测试的安卓APP,指定测试平台为Android,测试的手机deviceName为98YFBP522VSU,需要打开的APP路径为C:/Users/yongqing/Desktop/app-debug...

wireshark源码分析二

一、源代码结构 在wireshark源代码根目录下,可以看到以下子目录: 1)物理结构     其中,epan文件夹负责所有网络协议识别工作,plugins里面存放了wireshark所有插件,gtk文件夹里面是wireshark的界面部分代码,其余文件夹没有单独研究。 2)逻辑结构     下图给出了Ethereal功能模块:    a) GTK1/2...

ecshop 二次开发 函数列表大全

最近进行ecshop的二次开发,整理了一部分的函数,另外在ecshop论坛上面也发现了很多函数说明,整理汇总如下,供大家参考。 所有函数功能说明: lib_time.phpgmtime() P: 获得当前格林威治时间的时间戳 /$0server_timezone() P: 获得服务器的时区 /$0local_mktime($hour = NULL , $mi...

HBase 学习(二) Hbase安装与启动

一,前言 二,前期准备   2.1 文件下载   2.2 服务器准备 三,配置文件配置   3.1 hbase-env.sh   3.2 hbase-site.xml   3.3 regionservers   3.4 将hbase的bin目录添加到环境变量   3.5 Hbase的官方配置文档 四,Hbase服务启动   4.1 Hbase启动   4....

学习Maven之Maven Enforcer Plugin,配置pom强校验

https://www.cnblogs.com/qyf404/p/4829327.html 1.Maven Enforcer plugin是什么鬼? 在说这个插件是什么前我们先思考这么一个问题:当我们开发人员进入项目组进行开发前,要准备开发环境,而领导总是会强调工具的统一,编译环境的统一。比如要求所有开发人员使用JDK1.8进行开发。 开发人员接下来就是去...