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阅读 214,128评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,316评论 3 388
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事?!?“怎么了?”我有些...
    开封第一讲书人阅读 159,737评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,283评论 1 287
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,384评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,458评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,467评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,251评论 0 269
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,688评论 1 306
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,980评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,155评论 1 342
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,818评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,492评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,142评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,382评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,020评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,044评论 2 352

推荐阅读更多精彩内容