今天又帮其他项目装了一遍GP,加上之前的两次,这是第三次了,虽然每次都有记录,但这次安装还是发现漏写了一些步骤,在此详细记录一下,需要的童鞋可以借鉴。

1、准备

  这里准备了4台服务器,1台做master,1台做standby,4台都做存储,为了保密真实的IP地址和主机名都换成“艺名”了。

OS:Red Hat Enterprise Linux Server release 6.4 (Santiago)
GP:greenplum-db-4.3.6.2-build-1-RHEL5-x86_64.zip
JDK:1.7+ 192.168.1.100  bj-gp-node1(segment master)
192.168.1.101  bj-gp-node2(segment standby)
192.168.1.102  bj-gp-node3(segment)
192.168.1.103  bj-gp-node4(segment)

greenplum官网下载地址:http://gpn.greenplum.com/download.php (注:需要注册后才能下载)

2、系统参数配置

  系统参数配置的修改需要在每个节点服务器上执行

2.1.修改Linux内核参数

[root@bj-gp-node1 ~]# vi /etc/sysctl.conf
# Kernel sysctl configuration file for Red Hat Linux
#
# For binary values, 0 is disabled, 1 is enabled. See sysctl(8) and
# sysctl.conf(5) for more details.
#
# Use '/sbin/sysctl -a' to list all possible parameters. # Controls IP packet forwarding
net.ipv4.ip_forward = 0 # Controls source route verification
net.ipv4.conf.default.rp_filter = 1 # Do not accept source routing
net.ipv4.conf.default.accept_source_route = 0 # Controls the System Request debugging functionality of the kernel
kernel.sysrq = 1 # Controls whether core dumps will append the PID to the core filename.
# Useful for debugging multi-threaded applications.
kernel.core_uses_pid = 1 # Controls the use of TCP syncookies
net.ipv4.tcp_syncookies = 1 # Disable netfilter on bridges
#net.bridge.bridge-nf-call-ip6tables = 0
#net.bridge.bridge-nf-call-iptables = 0
#net.bridge.bridge-nf-call-arptables = 0 # Controls the default maxmimum size of a mesage queue
kernel.msgmnb = 65536 # Controls the maximum size of a message, in bytes
kernel.msgmax = 65536
kernel.msgmni = 2048 kernel.sem = 250 512000 100 2048 # Controls the maximum shared segment size, in bytes
#kernel.shmmax = 68719476736
kernel.shmmax = 500000000
kernel.shmmni = 4096 # Controls the maximum number of shared memory segments, in pages
#kernel.shmall = 4294967296
kernel.shmall = 4000000000 net.ipv4.tcp_tw_recycle=1
net.ipv4.tcp_max_syn_backlog=4096
net.ipv4.ip_local_port_range = 1025 65535
net.core.netdev_max_backlog=10000
vm.overcommit_memory=2
net.ipv4.conf.all.arp_filter = 1
net.core.rmem_max = 2097152
net.core.wmem_max = 2097152

2.2.修改Linux最大限制

[root@bj-gp-node1 ~]# vi /etc/security/limits.conf
#greenplum configs
* soft nofile 65536
* hard nofile 65536
* soft nproc 131072
* hard nproc 131072

2.3.I/O调整优化

[root@bj-gp-node1 ~]# vi /boot/grub/menu.lst
#greenplum configs
elevator=deadline

2.4.添加所有节点到HOST

[root@bj-gp-node1 ~]# vi /etc/hosts
192.168.1.100  bj-gp-node1
192.168.1.101  bj-gp-node2
192.168.1.102  bj-gp-node3
192.168.1.103  bj-gp-node4

2.5.关闭防火墙

[root@bj-gp-node1 ~]# chkconfig --list iptables
[root@bj-gp-node1 ~]# chkconfig --level 0123456 iptables off

2.6.设置SELINUX

[root@bj-gp-node1 ~]# vi /etc/selinux/config
SELINUX=disabled

2.7.重启系统使配置生效

[root@bj-gp-node1 ~]# reboot

3、GP安装

  GP的安装操作都是在主节点master上执行的

3.1.创建gpadmin用户

[root@bj-gp-node1 ~]# useradd gpadmin
[root@bj-gp-node1 ~]# passwd gpadmin

3.2.设置gpadmin用户环境

[gpadmin@bj-gp-node1 ~]$ cd /home/gpadmin
[gpadmin@bj-gp-node1 ~]$ vi .bashrc
[gpadmin@bj-gp-node1 ~]$ vi .bash_profile

.bashrc和.bash_profile最后都添加下面两行
source /usr/local/greenplum-db/greenplum_path.sh 
export MASTER_DATA_DIRECTORY=/data1/gpdata/master/gpseg-1

设置完后记得source一下使其立即生效

3.3.上传并解压安装包

将greenplum-db-4.3.6.2-build-1-RHEL5-x86_64.zip上传至master的/opt/目录下

[root@bj-gp-node1 opt]# /bin/bash greenplum-db-4.3.6.2-build-1-RHEL5-x86_64.bin

按提示输入回车或yes 这一步会将安装包解压到/usr/local/下,并建立软连接greenplum-db

3.4.准备节点服务器信息文件

后面的批量安装会用到这两个文件,如果all_host和all_segment内容一样,可以只创建一个文件

[root@bj-gp-node1 opt]# mkdir -p /opt/gpinit/
[root@bj-gp-node1 gpinit]# touch all_host
[root@bj-gp-node1 gpinit]# touch all_segment
all_host和all_segment内容:
bj-gp-node1
bj-gp-node2
bj-gp-node3
bj-gp-node4

3.5.建立节点服务器间的信任

[root@bj-gp-node1 local]# gpssh-exkeys -f /opt/gpinit/all_host

按照提示输入root密码,记住这一步不能输入gpadmin的密码,因为批量安装时需要在/usr/local下创建目录,需要root权限

3.6.批量安装

[root@bj-gp-node1 local]# gpseginstall -f /opt/gpinit/all_host -u gpadmin -p gpadmin

这一步其实就是将master上的greenplum打包通过scp命令传到all_host中的主机上,并赋予目录gpadmin的权限

3.7.检查批量安装情况

[root@bj-gp-node1 local]# gpssh -f /opt/gpinit/all_host -e ls -l $GPHOME

返回结果中各节点目录一致则成功

3.8.创建存储目录

master
[root@bj-gp-node1 local]# mkdir -p /data1/gpdata/master
[root@bj-gp-node1 local]# chown gpadmin:gpadmin /data1/gpdata/master segment
[root@bj-gp-node1 local]# gpssh -f /opt/gpinit/all_host -e 'mkdir -p /data1/gpdata/primary'
[root@bj-gp-node1 local]# gpssh -f /opt/gpinit/all_host -e 'chown gpadmin:gpadmin /data1/gpdata/primary' mirror
[root@bj-gp-node1 local]# gpssh -f /opt/gpinit/all_segment -e 'mkdir -p /data1/gpdata/mirror'
[root@bj-gp-node1 local]# gpssh -f /opt/gpinit/all_segment -e 'chown gpadmin:gpadmin /data1/gpdata/mirror'
 

3.9.设置时钟同步

vi /etc/ntp.conf 在server第一行添加下面两行 
server 192.168.1.1
server 192.168.1.2
重启ntpd服务 /etc/init.d/ntpd restart
查看ntp同步情况 ntpq -p
使ntpd服务重启服务器后也启动 chkconfig --level 0123456 ntpd on

3.10.创建GP初始化文件

[gpadmin@bj-gp-node1 ~]$ mkdir /home/gpadmin/gpconfigs
[gpadmin@bj-gp-node1 ~]$ cp /usr/local/greenplum-db/docs/cli_help/gpconfigs/gpinitsystem_config /home/gpadmin/gpconfigs/gpinitsystem_config
[gpadmin@tj-soc-c04-csfb1 gpconfigs]$ chmod 775 gpinitsystem_config

3.10修改GP初始化文件

[gpadmin@bj-gp-node1 gpconfigs]$ vi gpinitsystem_config

# FILE NAME: gpinitsystem_config


# Configuration file needed by the gpinitsystem


################################################
#### REQUIRED PARAMETERS
################################################


#### Name of this Greenplum system enclosed in quotes.
ARRAY_NAME="BJ Greenplum DW"


#### Naming convention for utility-generated data directories.
SEG_PREFIX=gpseg


#### Base number by which primary segment port numbers
#### are calculated.
PORT_BASE=40000


#### File system location(s) where primary segment data directories
#### will be created. The number of locations in the list dictate
#### the number of primary segments that will get created per
#### physical host (if multiple addresses for a host are listed in
#### the hostfile, the number of segments will be spread evenly across
#### the specified interface addresses).
declare -a DATA_DIRECTORY=(/data1/gpdata/primary /data1/gpdata/primary)


#### OS-configured hostname or IP address of the master host.
MASTER_HOSTNAME=bj-gp-node1


#### File system location where the master data directory
#### will be created.
MASTER_DIRECTORY=/data1/gpdata/master


#### Port number for the master instance.
MASTER_PORT=5432


#### Shell utility used to connect to remote hosts.
TRUSTED_SHELL=ssh


#### Maximum log file segments between automatic WAL checkpoints.
CHECK_POINT_SEGMENTS=8


#### Default server-side character set encoding.
ENCODING=UNICODE


################################################
#### OPTIONAL MIRROR PARAMETERS
################################################


#### Base number by which mirror segment port numbers
#### are calculated.
MIRROR_PORT_BASE=50000


#### Base number by which primary file replication port
#### numbers are calculated.
REPLICATION_PORT_BASE=41000


#### Base number by which mirror file replication port
#### numbers are calculated.
MIRROR_REPLICATION_PORT_BASE=51000


#### File system location(s) where mirror segment data directories
#### will be created. The number of mirror locations must equal the
#### number of primary locations as specified in the
#### DATA_DIRECTORY parameter.
declare -a MIRROR_DATA_DIRECTORY=(/data1/gpdata/mirror /data1/gpdata/mirror)


################################################
#### OTHER OPTIONAL PARAMETERS
################################################


#### Create a database of this name after initialization.
DATABASE_NAME=bj_gp


#### Specify the location of the host address file here instead of
#### with the the -h option of gpinitsystem.
#MACHINE_LIST_FILE=/home/gpadmin/gpconfigs/hostfile_gpinitsystem

 

3.11.初始化GP

[gpadmin@bj-gp-node1 ~]$ gpinitsystem -c /home/gpadmin/gpconfigs/gpinitsystem_config -h /opt/gpinit/all_host
中间需要输入一次:Y

如果没有报ERROR,GP数据库就安装好了。下面讲一些附加操作

4、附加项

4.1增加standby

一个gp集群只有一个master肯定会让人不放心,还好有备用,当master宕掉后,会自动启用standby作为master,下面来看一下standby怎么添加

在standby服务器上执行
[root@bj-gp-node2 ~]# mkdir /data1/gpdata/master
[root@bj-gp-node2 ~]# chown gpadmin:gpadmin /data1/gpdata/master 在master服务器上执行 
[gpadmin@bj-gp-node1 ~]$ gpinitstandby -s bj-gp-node2
中间输入一次Y

4.2.增加mirror

mirror就是镜像,也叫数据备份。mirror对于数据存储来说很重要,因为我们的服务器指不定什么时候出毛病,有mirror就好很多了,因为两台存储节点同时宕掉的几率还是很小的。如果前面在GP初始化文件里忘记配置mirror了,请按照下面的方法添加

[gpadmin@bj-gp-node1 ~]$ gpaddmirrors -p 1000
运行过程中需要输入两次mirror路径:/data1/gpdata/mirror

4.3.设置访问权限

打开/data1/gpdata/master/gpseg-1/pg_hba.conf 按照最下面的格式添加客户端ip或网段

#user define
host all all 192.168.1.0/24 trust
host all all 127.0.0.1/28 trust

4.4.访问方式

可以通过gpAdmin桌面客户端来访问,也可以用命令行来访问,下面来说一下命令行访问的方式,loach是后面添加的用户

[gpadmin@bj-gp-node1 ~]$ psql -d tj_csfb -h bj-gp-node1 -p 5432 -U gpadmin
[gpadmin@bj-gp-node1 ~]$ psql -d tj_csfb -h bj-gp-node1 -p 5432 -U loach

4.5.创建用户

通过命令行登录以后,执行下面的命令

CREATE ROLE loach WITH LOGIN;
ALTER ROLE loach WITH PASSWORD 'loach';

[原]greenplum安装详细过程的更多相关文章

  1. VMware Tools (ubuntu系统)安装详细过程与使用

    前一段时间博主在VMware虚拟机上安装了Ubuntu系统,如果还没有安装的同学可以参考博主上一篇文章:VMware Ubuntu安装详细过程. 猿友们都知道linux不太好用,如果你想将你主机Win ...

  2. VMware Ubuntu安装详细过程(详细图解)

    说明:该篇博客是博主一字一码编写的,实属不易,请尊重原创,谢谢大家! 一.下载Ubuntu镜像文件 下载地址:http://mirrors.aliyun.com/ubuntu-releases/16. ...

  3. Linux(二):VMware虚拟机中Ubuntu安装详细过程

    Linux(二):VMware虚拟机中Ubuntu安装详细过程 目录 1 准备 2 安装 2.1 虚拟机的建立 2.2 虚拟机安装Ubuntu系统 2.3 虚拟机设置 3 完成 1 准备 1.操作系统 ...

  4. Ubuntu VMware Tools安装详细过程(非常靠谱)

    说明:该篇博客是博主一字一码编写的,实属不易,请尊重原创,谢谢大家! 一.前言 VMware Ubuntu安装以及详细过程:https://blog.csdn.net/qq_41782425/arti ...

  5. SQL 2008下载地址以及全新安装详细过程

    本博文将详细介绍如何安装SQL 2008以及在这个安装过程中每个选项的意思,如何选择使用什么和不使用什么等等琐碎的东东. 下面——开始了!!!SHOW TIME~~~先提供各种程序下载地址:SQL 2 ...

  6. 初次体验VS2015正式版,安装详细过程。

    本文版权归mephisto和博客园共有,欢迎转载,但须保留此段声明,并给出原文链接,谢谢合作. 文章是哥(mephisto)写的,SourceLink 阅读目录 介绍 安装 其他 本文版权归mephi ...

  7. Linux下WebSphereV8.5.5.0 安装详细过程

    自WAS8以后安装包不再区别OS,一份介质可以安装到多个平台.只针对Installation Manager 进行了操作系统的区分 ,Websphere产品介质必须通过专门的工具Install Man ...

  8. Oracle 11g的安装详细过程

    本次采用的电脑为win10 专业版,以下为本人电脑的配置情况: 本人是第一次在win10系统上面进行oracle 11g的安装. 以下为安装步骤: 一.下载软件包 以下为各种oracle安装包的下载网 ...

  9. VMware Ubuntu 19最新安装详细过程

    ubuntu可以说是目前最流行的Linux改造版了(如果安卓不算的话),现在的很多服务器都是linux系统的,而自己属于那种前端也搞,后台也搞,对框架搭建也感兴趣,但是很多生产上的框架和工具都是安装在 ...

随机推荐

  1. (原)Vue 单文件组件安装 (创建vue-cli 项目)

    更新于20200220 题外话:久违了我的博客园 正题: 1.准备工作,安装环境 1.安装node 官网下载安装即可  -- 配置环境变量 2.安装npm (基于node.js 包管理器) 3.安装c ...

  2. 【网易官方】极客战记(codecombat)攻略-地牢-辐射光环

    关卡连接: https://codecombat.163.com/play/level/radiant-aura 骷髅,恐惧还是回避? 简介: 敬请期待! 默认代码 # 捡起发光石,让骷髅怪远离你一会 ...

  3. python开发基础04-列表、元组、字典操作练习

    练习1: # l1 = [11,22,33]# l2 = [22,33,44]# a. 获取内容相同的元素列表# b. 获取 l1 中有, l2 中没有的元素列表# c. 获取 l2 中有, l1 中 ...

  4. Bugku-CTF之PHP_encrypt_1(ISCCCTF) [fR4aHWwuFCYYVydFRxMqHhhCKBseH1dbFygrRxIWJ1UYFhotFjA=]

    Day34     PHP_encrypt_1(ISCCCTF) fR4aHWwuFCYYVydFRxMqHhhCKBseH1dbFygrRxIWJ1UYFhotFjA=   下载下来.zip文件  

  5. AcWing 854. Floyd求最短路 多源 邻接矩阵

    //不存在负权回路 //边权可能为负数 #include <cstring> #include <iostream> #include <algorithm> us ...

  6. C4K Power supply failed?

    故障log: %C4K_IOSMODPORTMAN-4-POWERSUPPLYBAD: Power supply 2 has failed or been turned off 在单机的情况下,我们可 ...

  7. ISR模块

    SM-SRE-700-K9:先来介绍一下这个模块 Q:它是用来干嘛的?A:思科服务就绪引擎模块是思科集成多业务路由器第2代(ISR G2)的高性能路由器刀片,可提供托管思科,第三方和自定义应用程序的功 ...

  8. 微信个人支付接口---YunGouOS 1.1.3 版本发布,新增个人微信/支付宝收款接口

    软件接口  https://www.oschina.net/news/113305/yungouos-1-1-3-released 文档说明  https://www.oschina.net/p/Yu ...

  9. 忽视自身问题并“积极甩锅”,新氧CEO金星还要脸吗?

    编辑 | 于斌 出品 | 于见(mpyujian) "互联网医美第一股"新氧果然还是爆雷了. 说"果然"是因为于见曾经针对新氧目前的商业模式进行过分析,认为以新 ...

  10. 「JSOI2015」染色问题

    「JSOI2015」染色问题 传送门 虽然不是第一反应,不过还是想到了要容斥. 题意转化:需要求满足 \(N + M + C\) 个条件的方案数. 然后我们就枚举三个数 \(i, j, k\) ,表示 ...