一、安装环境准备

1、磁盘环境准备

磁盘分区典型配置如下:


文件系统 文件格式    大小
  /        ext3   50GB,Linux系统的根目录,所有的目录都挂在这个目录下面,建议大小为5GB以上
  /boot    ext3   用来存放与Linux系统启动有关的程序,比如启动引导装载程序等,建议大小为200MB
  swap     swap   1*RAM,实现虚拟内存,建议大小是物理内存的1~2倍

/usr     ext3   用来存放Linux系统中的应用程序,其相关数据较多,建议大于3GB以上

/var     ext3   用来存放Linux系统中经常变化的数据以及日志文件,建议大于1GB以上

/tmp     ext3   将临时盘在独立的分区,可避免在文件系统被塞满时影响到系统的稳定性。建议大小为500MB以上

/data1   xfs    依据数据量而定
  /data2   xfs    依据数据量而定

/home    ext3   存放普通用户的数据,是普通用户的宿主目录,建议大小为剩下的空间


 2、设置GP 推荐的OS 参数

注:标示“三台主机”的表示要在三台电脑上都做该操作,“master节点”表示只在mdw主机上操作

 hostname
ip
内存
硬盘
mdw
192.168.10.200
500M
8G
sdw1
192.168.10.201
500M
8G
sdw2
192.168.10.202
500M
8G

Greenplum 需要在GP 数据库系统的所有主机(masters 和 segments) 上配置推荐的OS参数

以root 用户登录,修改所有主机的OS 参数

(1)、关闭防火墙(三台主机)(学习时可以直接关闭,正式环境是通过开放端口)
  
service iptables stop   停止防火墙服务,重启电脑后仍然会开启
  
chkconfig iptables off  关闭防火墙服务开机启动,重启后生效
(2)、修改/etc/hosts文件(三台主机)
在hosts文件中添加或修改一下内容:
 
192.168.10.200 mdw
 
192.168.10.201 sdw1
 
192.168.10.202 sdw2
添加之后,可以通过ping命令测试是否正确,如:ping sdw1 测试是否能访问sdw1节点
(3)、修改或添加/etc/sysctl.conf(三台主机)

xfs_mount_options = rw,noatime,inode64,allocsize=16m
  kernel.shmmax = 500000000
  kernel.shmmni = 4096
  kernel.shmall = 4000000000
  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
  vm.overcommit_memory = 2

(4)、配置/etc/security/limits.conf文件,添加以下内容(三台主机)
 
* soft nofile 65536
 
* hard nofile 65536
 
* soft nproc 131072
 
* hard nproc 131072
(5)、设置预读块的值为16384(三台主机)
 
# /sbin/blockdev --getra /dev/sda        
查看预读块,默认大小为256
 
# /sbin/blockdev --setra 16384 /dev/sda   设置预读块
(6)、设置磁盘访问I/O调度策略(三台主机)
 
# echo deadline > /sys/block/sda/queue/scheduler
(7)、上传并解压数据库安装文件(master节点)

 
# unzip greenplum-db-4.2.2.4-build-1-CE-RHEL5-i386.zip

二、GP数据库安装

1、安装软件(master节点)
 
# /bin/bash greenplum-db-4.2.2.4-build-1-CE-RHEL5-i386.bin
安装过程中会显示以下内容,直接使用默认即可

安装之后的目录文件如下:

其中:
greenplum_path.sh - Greenplum 数据库环境变量配置文件
GPDB-LICENSE.txt- Greenplum license 文件
LICENSE.thirdparty- 第三方 license 文件
bin- 目录下包括Greenplum 数据库管理程序,也包括PostgreSQL 客户端和服务程序
demo - 目录下包括Greenplum 演示程序
docs - Greenplum 数据库帮助文档(PDF 格式)
etc - OpenSSL 配置文件
ext - Greenplum 数据库程序用的附加程序( 如 Python)
include - Greenplum 数据库C header files
lib - Greenplum 数据库和 PostgreSQL 库文件
sbin - Supporting/Internal 脚本和程序
share - Greenplum 数据库共享文件

2、获取环境参数(master节点)

在/etc/profile中增加:# source /usr/local/greenplum-db/greenplum_path.sh

然后在三台主机执行命令:source /usr/local/greenplum-db/greenplum_path.sh

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

首先指定greenplum用户 # useradd gpadmin  # passwd gpadmin

赋用户权限  # chown -R gpadmin:gpadmin gpadmin

然后在gpadmin账户下创建 all_hosts,文件内容:(三台主机)
  mdw
  sdw1
  sdw2

4、运行gpseginstall工具 (master节点 /home/gpadmin)
 
# gpseginstall -f all_hosts -u gpadmin -p gpadmin
all_hosts是上个步骤创建的文件,安装过程中会让输入三台主机的密码,完成后提示成功,如下图:

5、切换到gpadmin用户验证无密码登录(三台主机)
   (1)切换用户
      $ su - gpadmin
   (2)使用gpssh工具来测试无密码登录所有主机,结果如下图:
      $ gpssh -f all_hosts -e ls -l $GPHOME

6、配置环境变量(master节点)
在/home/gpadmin路径下,以root用户添加下述信息到.bashrc和.bash_profile文件最后
  # source /usr/local/greenplum-db-4.2.2.4/greenplum_path.sh
然后将.bashrc文件发送到sdw1和sdw2,命令如下:
  scp .bashrc sdw1:~
  scp .bashrc sdw2:~
7、创建存储区域(master节点)
   (1) 创建Master数据存储区域
        # mkdir -p /data/master
   (2) 改变目录的所有权
        # chown gpadmin:gpadmin /data/master
   (3) 创建一个包含所有segment主机名的文件/home/gpadmin/seg_hosts,内容如下:
        sdw1
        sdw2
   (4) 使用gpssh工具在所有segment主机上创建主数据和镜像数据目录,如果没有设置镜像可以不创建mirror目录(切换gpadmin用户)
        # gpssh -f seg_hosts -e 'mkdir -p /data/primary'
        # gpssh -f seg_hosts -e 'mkdir -p /data/mirror'
        # gpssh -f seg_hosts -e 'chown gpadmin /data/primary'
        # gpssh -f seg_hosts -e 'chown gpadmin /data/mirror'
8、同步系统时间
  (1) 在Master主机上编辑/etc/ntp.conf来设置如下内容:
      server 127.127.1.0
  (2) 在Segment主机上编辑/etc/ntp.conf
      server mdw
  (3) 在Master主机上,通过NTP守护进程同步系统时钟(切换gpadmin用户)
      # gpssh -f all_hosts -v -e 'ntpd'

验证操作系统设置(切换gpadmin用户)
 
# gpcheck -f all_hosts -m mdw
注意运行结果是否有error信息,如果有处理掉错误信息后重新执行上面的命令检查,直至没有error信息,error如下图

成功的信息如下:

10、创建Greenplum数据库配置文件
(1) 以gpadmin用户登录
  # su - gpadmin
(2) 从模板中拷贝一份gpinitsystem_config文件
  $ cp $GPHOME/docs/cli_help/gpconfigs/gpinitsystem_config /home/gpadmin/gpinitsystem_config
  $ chmod 775 gpinitsystem_config
(3) 设置所有必须的参数
  ARRAY_NAME="EMC Greenplum DW"
  SEG_PREFIX=gpseg
  PORT_BASE=40000
  declare -a DATA_DIRECTORY=(/data/primary)
  MASTER_HOSTNAME=mdw
  MASTER_DIRECTORY=/data/master
  MASTER_PORT=5432
  TRUSTED SHELL=ssh
  CHECK_POINT_SEGMENT=8
  ENCODING=UNICODE
(4) 设置可选参数
  MIRROR_PORT_BASE=50000
  REPLICATION_PORT_BASE=41000
  MIRROR_REPLICATION_PORT_BASE=51000
  declare -a MIRROR_DATA_DIRECTORY=(/data/mirror)

11、运行初始化工具初始化数据库
 
$ gpinitsystem -c gpinitsystem_config -h seg_hosts
成功之后,数据库便启动了,信息如下:

出现Continue with Greenplum creation Yy/Nn>,输入 y,然后等待如下完成

12、设置环境变量
添加"export MASTER_DATA_DIRECTORY=/data/master/gpseg-1"到~/.bashrc文件尾,并同步到sdw1和sdw2节点
  $ scp .bashrc sdw1:~
  $ scp .bashrc sdw2:~

13、启动和停止数据库测试是否能正常启动和关闭,命令如下
  $ gpstart
  $ gpstop

15、访问数据库
psql -d postgres
输入查询语句
select datname,datdba,encoding,datacl from pg_database;
显示信息如下

GreenPlum 安装方法详解的更多相关文章

  1. SQL Server2012 安装方法详解

    SQL Server2012 安装方法详解 - MonkeyBrothers的博客 - CSDN博客 https://blog.csdn.net/monkeybrothers/article/deta ...

  2. Mysql压缩包版的安装方法详解

    Mysql安装的时候可以有msi安装和zip解压缩两种安装方式.zip压缩包解压到目录,要使用它还需对它进行一定的配置.下面对Mysql压缩包版的安装方法进行详细的描述,要是此文有不正确的认识,希望大 ...

  3. Android SDK离线安装方法详解(加速安装) 转

    AndroidSDK在国内下载一直很慢··有时候通宵都下不了一点点,最后只有选择离线安装,现在发出离线安装地址和方法,希望对大家有帮助! 离线安装包下载地址:http://dl.vmall.com/c ...

  4. ADS2008 安装方法详解及文件下载

    一.我的安装的过程及方法 正常安装的方法: 1.- Install the program. 2.- Copy "license.lic" into "C:\ADS200 ...

  5. Android SDK离线安装方法详解(加速安装)

    AndroidSDK在国内下载一直很慢··有时候通宵都下不了一点点,最后只有选择离线安装,现在发出离线安装地址和方法,希望对大家有帮助 一,首先下载SDK的安装包,android-sdk_r10-wi ...

  6. Zend Studio 13.6.1 汉化及安装方法详解

    Zend Studio 13.6.1是一套专业开发人员使用的集成开发环境 (IDE),具备功能强大的专业编辑工具和调试工具,支持PHP语法加亮显示,支持语法自动填充功能,支持书签功能,支持语法自动缩排 ...

  7. VS2019 离线安装方法详解

    本文详细介绍了 VS2019 离线安装的相关步骤,以桌面开发为主下载 C++桌面开发..NET 桌面开发相关的工作负载.MFC 可选组件及帮助查看器. 工作负载(Workload) 离线安装需要先根据 ...

  8. Linux GRUB手动安装方法详解

    需要手工安装 GRUB 主要有两种情况: Linux 系统原先不是使用 GRUB 作为引导程序而现在想要使用 GRUB 来作为引导程序: MBR 中的引导程序被覆盖,需要在 MBR 中重新安装 GRU ...

  9. 个人用户永久免费,可自动升级版Excel插件,使用VSTO开发,Excel催化剂安装过程详解及安装失败解决方法

    因Excel催化剂用了VSTO的开发技术,并且为了最好的用户体验,用了Clickonce的布署方式(无需人工干预自动更新,让用户使用如浏览器访问网站一般,永远是最新的内容和功能).对安装过程有一定的难 ...

随机推荐

  1. [暑假集训--数位dp]hdu5787 K-wolf Number

    Alice thinks an integer x is a K-wolf number, if every K adjacent digits in decimal representation o ...

  2. scrapy之Selectors

    练习url:https://doc.scrapy.org/en/latest/_static/selectors-sample1.html 一 获取文本值 xpath In []: response. ...

  3. django无法同步数据库 Error loading MySQLdb module: No module named ‘MySQLdb‘

    最近在学习Python,打算先看两个在线教程,再在github上找几个开源的项目练习一下,在学到“被解放的姜戈”时遇到django同步数据库时无法执行的错误,记录一下. 错误现象: 执行python ...

  4. Mysql基本操作语句【重要】

    一.对数据库的操作 1.  创建一个库 create database 库名 create database 库名 character set 编码

  5. 22深入理解C指针之---通过指针传递函数

    一.通过指针传递函数与通过指针传递数据的本质是一样的,区别就是此时的数据是函数指针(函数的开始的地址) 1.定义:通过函数指针将函数传入函数:通过函数返回函数指针实现函数返回函数的目标 2.特征: 1 ...

  6. Babel6.x的安装过程

    1.首先安装babel-cli(用于在终端使用babel) npm install -g babel-cli 2.然后安装babel-preset-es2015插件 npm install --sav ...

  7. Codeforces 786B Legacy(线段树优化建图)

    题目链接  Legacy 首先对于输入的$n$,建立一棵线段树. 显然线段树有大概$2n$个结点,每个节点对应一段区间 我们把这$2n$个结点加入我们的无向图中,一起跑最短路. 具体连边方案: 我们把 ...

  8. android添加桌面悬浮窗

    1. 添加权限 <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/> 2. ...

  9. codevs贪吃的九头龙

    传说中的九头龙是一种特别贪吃的动物.虽然名字叫“九头龙”,但这只是说它出生的时候有九个头,而在成长的过程中,它有时会长出很多的新头,头的总数会远大于九,当然也会有旧头因衰老而自己脱落.有一天,有M 个 ...

  10. 多核服务器的JVM优化选项(转载)

    原文链接 现在多核CPU是主流.利用多核技术,可以有效发挥硬件的能力,提升吞吐量,对于Java程序,可以实现并发垃圾收集.但是Java利用多核技术也带来了一些问题,主要是多线程共享内存引起了.目前内存 ...