zoukankan      html  css  js  c++  java
  • GreenPlum 安装方法详解

    一、安装环境准备

    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'


    9验证操作系统设置(切换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;
    显示信息如下



  • 相关阅读:
    strcpy,memset,memcpy三者之间的根本区别
    最便捷、最强大、速度最快的C++序列化框架
    C++读写二进制文件
    boost binary 序列化
    febird.dataio和boost.serialization性能对比
    Boost文本序列化和二进制序列化的效率比较
    Boost文本序列化和二进制序列化的效率比较
    c++的vector赋值方法汇总
    OCP-1Z0-051-V9.02-36题
    遍历list或map时删除元素(较巧妙)
  • 原文地址:https://www.cnblogs.com/zzjhn/p/5912386.html
Copyright © 2011-2022 走看看