zoukankan      html  css  js  c++  java
  • Greenplum(4.3.73)集群安装手册

    1. 概述

    本文档仅限于指导Greenplum 4.3.7.3(对应安装包greenplum-db-4.3.7.3-build-2-RHEL5-x86_64.bin)版本在CentOS6.5 系统进行集群式安装指导。其他greenplum版本和centos系统不保证可以顺利安装完成。

    本例集群为3台服务器,包括1个master节点,2个数据节点,每个数据节点设置1个segment和1个mirror

    服务器ip

    服务器名称

    用途

    192.168.21.1

    mdw

    Master节点

    192.168.21.2

    sdw1

    数据节点

    192.168.21.3

    sdw2

    数据节点

    注:本文中的主机ip和服务器名称为举例说明,安装请以情况操作

    2. 系统参数调整

    2.1 以root用户登录,修改所有集群服务器(master和所有node)OS参数。

    关闭防火墙

    #service iptables stop

    #chkconfig iptables off

    打开 /etc/selinux/config 设置

    SELINUX=disabled

    在/etc/sysctl.conf文件中修改一下参数后重启或者以sysctl –p 命令是参数生效(注意备份原配置文件):

    kernel.shmmax = 500000000

    kernel.shmmni = 4096

    kernel.shmall = 4000000000

    kernel.sem = 250 5120000 100 2048

    #SEMMSL SEMMNS SEMOPM SEMMNI

    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.default.rp_filter = 1

    net.ipv4.conf.default.arp_filter = 1

    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

    打开/etc/security/limits.conf 在文件的末尾追加如下内容:

    * soft nofile 65536

    * hard nofile 65536

    * soft nproc 131072

    * hard nproc 131072

    * soft core unlimited

     root用户登录,在所有集群服务器(master和所有node)上创建用户及用户组

    #groupadd gpadmin

    #useradd -g gpadmin gpadmin

    #passwd gpadmin

    #New password: <输入想要的密码回车>

    #Retype new password: <再次输入想要的密码回车>

    注意设置每台的密码

    3. 数据库安装

     root用户登录在所有集群服务器进行解压安装

     #unzip greenplum-db-4.3.7.3-build-2-RHEL5-x86_64.zip

    #./greenplum-db-4.3.7.3-build-2-RHEL5-x86_64.bin

    默认路径是/usr/local,需要输入[yes|no]的地方一律输入yes 回车

    最终会看到“Installation complete”的字样, Greenplum数据库已经安装到/usr/local/greenplum-db下了。

    Greenplum的环境变量已经在greenplum_path.sh中设置了,我们须要source一下

    # source /usr/local/greenplum-db/greenplum_path.sh

     主结点和从结点的全部执行完前三步后开始执行第四步

    4. 初始化集群

    以root用户登录所有集群服务器改变greenplum安转目录的owner为gpadmin:

    #chown -R  gpadmin  /usr/local/greenplum-db 

    #chgrp –R  gpadmin  /usr/local/greenplum-db

    以root用户登录master服务器编辑 /etc/hosts文件追加如下内容:(ip地址和服务器名以实际为准)

    192.168.21.1       mdw

    192.168.21.2       sdw1

    192.168.21.3       sdw2

    切换成gpadmin用户在master服务器,创建包含所有主机名的文件 /home/gpadmin/all_hosts内容如下:

    mdw

    sdw1

    sdw2

     

    以gpadmin用户在master服务器创建含segment 主机名的文件 /home/gpadmin/seg_hosts内容如下:

    sdw1

    sdw2

     

    以gpadmin用户在master服务器和所有主机建立信任关系

    $source /usr/local/greenplum-db/greenplum_path.sh

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

     

    如果这一步提示密码错误,则需要进行下面的配置,在/etc/ssh /sshd_config

    文件下追加下面内容,所有的GP结点都小设置。

    KexAlgorithms curve25519-sha256@libssh.org,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group14-sha1,diffie-hellman-group-exchange-sha1,diffie-hellman-group1-sha1

    如果使用上述方法还是提示密码错误:可以通过,在gpadmin用户下执行ssh-keygen命令来生成密钥对,然后将公钥拷贝到所有节点的认真文件。注意:所有的服务器都到做这个操作。

     

    以gpadmin用户在master服务器通过gpssh命令创建master和segment主机上的数据存放目录

    $cd /home/gpadmin 

    $ gpssh -f all_hosts

    Note: command history unsupported on this machine ...

    =>

    输入pwd回车应该可以看到3台服务器的当前目录,说明通道建立成功,可以同步操作了。

    => pwd

    [sdw2] /home/gpadmin

    [sdw1] /home/gpadmin

    [ mdw] /home/gpadmin

     

    分别创建master目录、primary节点目录、mirror节点目录,此处创建的目录用于存储数据库数据,需根据实际情况指定创建目录的位置。

    => mkdir -p /ids/gpadmin/masterdata

    => mkdir -p /ids/gpadmin/segmentdata

    => mkdir -p /ids/gpadmin/segdatamirror

    注意:以上存储gp数据的目录以实际情况为准。

     

    mkdir: cannot create directory `/ids/gpadmin': Permission denied

     

    mkdir gpadmin

    chown gpadmin:gpadmin gpadmin

    => mkdir  /ids/gpadmin/masterdata

    => mkdir  /ids/gpadmin/segmentdata

    => mkdir  /ids/gpadmin/segdatamirror

     

    ctrl+d 退出

    exit 退出

    以gpadmin用户在master服务器同步时钟 

    gpssh -f /home/gpadmin/all_hosts  -v  ntpd

    以gpadmin用户在master服务器将MASTER_DATA_DIRECTORY加入环境中,修改gpadmin用户的.bash_profile:

    打开文件/home/gpadmin/.bash_profile在最后追加如下内容:

    source /usr/local/greenplum-db/greenplum_path.sh

    MASTER_DATA_DIRECTORY=/ids/gpadmin/masterdata/gpseg-1 

    export MASTER_DATA_DIRECTORY

    export PGPORT=5432

    export PGDATABASE=postgres

     

    注意:MASTER_DATA_DIRECTORY目录请以实际情况为准

     

    执行如下命令:   source  /home/gpadmin/.bash_profile

     

    以gpadmin用户在master服务器创建/home/gpadmin/gpinitsystem_config文件,并追加如下内容:

    ARRAY_NAME="EMC Greenplum DW"

    SEG_PREFIX=gpseg

    PORT_BASE=33000

    declare -a DATA_DIRECTORY=(/ids/gpadmin/segmentdata  /ids/gpadmin/segmentdata)

    MASTER_HOSTNAME=gp-22

    MASTER_DIRECTORY=/ids/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=(/ids/gpadmin/segdatamirror /ids/gpadmin/segdatamirror)

     

     

    注意:DATA_DIRECTORY,MIRROR_DATA_DIRECTORY,MASTER_DIRECTORY 请以实际为准

    以gpadmin用户在master服务器运行配置文件初始化greenplum数据库:

    $gpinitsystem -c /home/gpadmin/gpinitsystem_config

    这个初始化过程中,会提示:Continue with Greenplum creation Yy/Nn输入Y 或者y

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

    $ps -e|grep postgres

    如果有进程则说明启动成功,同理可去其他数据节点服务器使用该命名查看是否节点启动成功能工。

    至此greenplum的集群已经安装成功且启动完成。

    如果失败,去他指定的log查看日志

    gpcheck -f /home/gpadmin/all_hosts -m gp-23

    登录数据库

    $psql postgres

    设置密码

    修改数据库管理员密码   

    postgres=# alter role gpadmin with password 'XXXXX';

    修改任意远程客户端可登录gp数据库:

    vi /ids/gpadmin/masterdata/gpseg-1/pg_hba.conf

    在文件的最后追加如下内容保存并关闭

    host     all      all   0.0.0.0/0  md5

     

    vi /ids/gpadmin/masterdata/gpseg-1/postgres.conf

    去掉#listen_addresses = '*' 前面的 #  保存退出

    执行命令使配置生效

    pg_ctl reload -D /ids/gpadmin/masterdata/gpseg-1/ 

    创建个简单用户:

    create role cloud password ‘cloud’;

    赋值管理员权限给cloud用户

    grant gpadmin to cloud;

    注意:/home/gpadmin/masterdata目录根据安装实际目录路径决定

     

     

    greenplum安装错误搜集:

    1 在进行指定配置文件初始化时报错,查看日志文件信息为向节点插入端口=40000时不成功

    解决办法:greenplum数据库是适用ed编辑器来进行文件编辑的。所以需要在linux系统上安装好ed编辑器。安装办法yum -y install ed

     

    其他greenplum 管理方面的命令请自行寻找相关手册或文档学习。

  • 相关阅读:
    bzoj:1299: [LLH邀请赛]巧克力棒
    [51nod][cf468D]1558 树中的配对
    HDU5447 Good Numbers
    Timus Online Judge:ural:1006. Square Frames
    poj1830:开关问题
    bzoj:1776: [Usaco2010 Hol]cowpol 奶牛政坛
    bzoj:1725: [Usaco2006 Nov]Corn Fields牧场的安排
    bzoj:1828: [Usaco2010 Mar]balloc 农场分配
    bzoj:1584: [Usaco2009 Mar]Cleaning Up 打扫卫生
    bzoj:1598: [Usaco2008 Mar]牛跑步
  • 原文地址:https://www.cnblogs.com/butterflies/p/9646099.html
Copyright © 2011-2022 走看看