2020-02-16 Greenplum安装(亲测)

官网下载地址:https://network.pivotal.io/products/pivotal-gpdb#/releases/1502/file_groups/378


一、准备环境

1、配置hosts

    a、vi /etc/hosts

  10.10.134.11 dw-greenplum-1 mdw

  10.10.134.12 dw-greenplum-2 sdw1

  10.10.134.13 dw-greenplum-3 sdw2

b、scp到其他机器上

scp /etc/hosts root@10.10.134* :/etc/hosts

2、配置hostname

      a、vi /etc/hostname  各个机器 用自己名称

    mdw

b、vi /etc/sysconfig/network 各个机器 用自己名称

    mdw

c、reboot 重启

如果以上还不起作用

正常显示: 


3、要安装的工具

yum install -y ed s是为了解决这个问题(http://www.freeoa.net/osuport/db/greenplum-db-study-install_3097.html)

    yum -y install wget

    yum install -y unzip zip

      yum install -y unzip zip

      yum -y install lsof

    yum install -y net-tools which openssh-clients openssh-server less  zip unzip iproute

4、关闭防火墙

查看防火墙状态

firewall-cmd --state

停止firewall

systemctl stop firewalld.service

禁止firewall开机启动

systemctl disable firewalld.service

5、网络相互通

        ping IP

        ping hostname

        ssh  hostname 能登录到其他机器上

二、Greenplum初始化前期配置

    1、系统设置(所有机器)

a、sysctl.conf的设置

      #vi /etc/sysctl.conf

        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

net.core.rmem_max = 2097152

net.core.wmem_max = 2097152

vm.overcommit_memory = 2

    #sysctl -p

    b、limits.conf的设置

    # vi /etc/security/limits.conf

* soft nofile 65536

* hard nofile 65536

* soft nproc 131072

* hard nproc 131072

    分别copy其他机器上

    # scp  /etc/sysctl.conf root@swd1 : etc/sysctl.conf

    # scp  /etc/security/limits.conf root@swd1 : /etc/security/limits.conf

    其他优化配置在测试环境先不配置  不影响启动

    2、安装

  a、创建gpadmin组合用户

# groupdel gpadmin

# userdel gpadmin

# groupadd -g 530 gpadmin

# useradd -g 530 -u 530 -m -d /home/gpadmin -s /bin/bash gpadmin

# passwd gpadmin


  b、解压介质

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

# chown gpadmin:gpadmin greenplum-db-4.3.7.2-build-2-RHEL5-x86_64.bin

  c、创建安装目录

# mkdir -p /opt/greenplum

# chown -R gpadmin:gpadmin /opt/greenplum

    d、Install  [root@gpnode1 greenplum]

$ ./greenplum-db-4.3.7.2-build-2-RHEL5-x86_64.bin

确认license,输入yes

输入安装目录:/opt/greenplum

确认安装路径,yes

    3、安装和配置greenplum到所有主机(操作master)

    a、执行相应环境变量

    # . /opt/greenplum/greenplum_path.sh

  b、创建hostlist文件(所有机器的hostname)

     # cat /tmp/hostlist

        mdw

       sdw1

       sdw2

  c、创建只包含segment节点的hostname

    # cat /tmp/seg_hosts

      sdw1

      sdw2

  d、安装segment节点

    $ gpseginstall -f /tmp/seg_hosts -u gpadmin -p gpadmin

    报错后应注意的一点:要在gpadmin用户下进行,执行source greenplum_path.sh,成功后  会提示连接另一端数据库

  e、Check install

$ gpssh -f /tmp/hostlist -e ls -l $GPHOME 

    f、创建master 数据目录

     # mkdir /data/master

     # chown gpadmin /data/master

如有master-standby,则用如下命令创建相应目录:

# . /opt/greenplum/greenplum_path.sh

# gpssh -h standby-host -e 'mkdir /data/master'

# gpssh -h standby-host -e 'chown gpadmin /data/master'


    g、创建segment节点数据目录

# . /opt/greenplum/greenplum_path.sh

# gpssh -f /tmp/seg_hosts -e 'mkdir -p /data/primary'

# gpssh -f /tmp/seg_hosts -e 'mkdir -p /data/mirror'

# gpssh -f /tmp/seg_hosts -e 'chown gpadmin /data/primary'

# gpssh -f /tmp/seg_hosts -e 'chown gpadmin /data/mirror'


      h、配置ntp(测试环境可以不执行)

修改master的配置文件(/etc/ntp.conf )

server 127.0.0.1


修改segment的配置文件(/etc/ntp.conf )

server test1

Server standby-host


修改standby的配置文件(/etc/ntp.conf )

server ntp-server

Server test1


在master上执行如下命令同步时间:

# gpssh -f /tmp/seg_hosts -v -e 'ntpd' 

        4、check操作

$ gpcheck -f /tmp/hostlist

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

$ gpssh -f /tmp/hostlist #统一处理所有节点

$ gpssh-exkeys -f hostlist(比较关键)

5、配置./bash_profile

source /opt/greenplum-db/greenplum_path.sh

export MASTER_DATA_DIRECTORY=/data/master/gpseg-1

export GPPORT=5432

export PGDATABASE=test_DB

依次scp到更改节点

$ source .bash_profile

三、Greenplum初始化

1.创建gp的配置文件

$ cp $GPHOME/docs/cli_help/gpconfigs/gpinitsystem_config  /home/gpadmin/gpinitsystem_config

$ cat  gpinitsystem_config |grep -v "^#" |grep -v "^$"

ARRAY_NAME="EMC Greenplum DW"

SEG_PREFIX=gpseg

PORT_BASE=40000

declare -a DATA_DIRECTORY=(/data/primary)

MASTER_HOSTNAME=test1

MASTER_DIRECTORY=/data/master

MASTER_PORT=5432

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=(/data/mirror)


2 .Run Initialization

$ gpinitsystem -c gpinitsystem_config -h /tmp/seg_hosts

出现以下日志说明初始化成功了


参考的文档:https://blog.csdn.net/king13127/article/details/83989704

                    http://gitop.cc/posts/install-greenplum-in-docker/

                    https://blog.csdn.net/xudailong_blog/article/details/79874923

官方下载地址:https://network.pivotal.io/products/pivotal-gpdb

四、数据库操作

$ psql -d postgres(其中的一个初始库)

$ psql -d postgres  #进入某个数据库


postgres=# \l # 查询数据库  List of databases

  Name    |  Owner  | Encoding |  Access privileges 

-----------+---------+----------+---------------------

gp_sydb  | gpadmin | UTF8    |

postgres  | gpadmin | UTF8    |

template0 | gpadmin | UTF8    | =c/gpadmin    : gpadmin=CTc/gpadmin

template1 | gpadmin | UTF8    | =c/gpadmin    : gpadmin=CTc/gpadmin

(4 rows)

postgres=# \i test.sql #执行sql

postgres=# copy 表名 to '/tmp/1.csv' with 'csv';      #快速导出单表数据

postgres=# copy 表名 from '/tmp/1.csv' with 'csv';    #快速导入单表数据

postgres=# \q          #退出数据库

五、集群状态

gpstate -e #查看mirror的状态

gpstate -f #查看standby master的状态

gpstate -s #查看整个GP群集的状态

gpstate -i #查看GP的版本

gpstate --help #帮助文档,可以查看gpstate更多用法

六、过程中遇到的问题

    1、在source .bash_profile的过程中导致 yum 不能用报:  Fatal Python error: pycurl: libcurl link-time version is older than compile-time version

Aborted

          原因:把 root 用户下 python环境变量unset掉了,总是在执行python2.6 其实应该执行python2.7

            解决:$  su root

                      # whereis python

                      # cd ~

                      # vi .bash_profile


                        #  source .bash_profile

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 229,908评论 6 541
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 99,324评论 3 429
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 178,018评论 0 383
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 63,675评论 1 317
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 72,417评论 6 412
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 55,783评论 1 329
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 43,779评论 3 446
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 42,960评论 0 290
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 49,522评论 1 335
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 41,267评论 3 358
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 43,471评论 1 374
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 39,009评论 5 363
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 44,698评论 3 348
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 35,099评论 0 28
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 36,386评论 1 294
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 52,204评论 3 398
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 48,436评论 2 378

推荐阅读更多精彩内容