写在前面
Mac的Term2 是 Terminal 的替代者。这是一款用于 macOS 的终端模拟器,支持窗口分割、热键、搜索、自动补齐、无鼠标复制、历史粘贴、即时重播等功能特性,适用于 MacOS 10.10 及以上版本。
Mac的用户可以通过iterm2终端获取Linux操作系统的体验。我们常见的大数据技术组件(比如Flink、Hadoop、Hive、Kafka等等)都可以在Mac OS上直接进行安装,操作过程与Linux安装基本无差别。既然主流的大数据技术框架可以很方便地在MacOS上部署运行,那Greenplum是否也可以很方便的在MacOS上部署呢?翻阅官网发现了下面的支持部署的操作系统说明:
Greenplum 6 runs on the following operating system platforms:
- Red Hat Enterprise Linux 64-bit 7.x (See the following Note[2].)
- Red Hat Enterprise Linux 64-bit 6.x
- CentOS 64-bit 7.x
- CentOS 64-bit 6.x
- Ubuntu 18.04 LTS
- Oracle Linux 64-bit 7, using the Red Hat Compatible Kernel (RHCK)
既然仅支持linux部署,那只能通过Docker进行安装了。
如何使用Docker安装GP
使用Docker安装GP主要有两种方式:
- 第一种是安装centos的镜像,然后在centos中安装greenplum,此种方式相当于先装一个linux的虚拟机,然后在使用GP的安装包进行安装,过程相当繁琐,本文不做过多说明。
- 第二种方式是直接通过docker拉去Greenplum的镜像,然后直接运行容器即可,本文使用的是第二种方式。
安装步骤
安装Docker
假设用户已经安装了Homebrew ,就可以通过Homebrew 安装docker了,步骤非常简单:
- $brewinstall--cask--appdir=/Applicationsdocker
镜像制作
假设已经安装了git,可以执行下面的步骤:
- gitclonehttps://github.com/tangyibo/greenplum_docker.git

克隆完成之后,进入克隆的文件夹
- cdgreenplum_docker/
可以看到文件夹下面有如下的文件:
- -rw-r--r--1usernamestaff665B82414:57Dockerfile
- -rw-r--r--1usernamestaff8B82414:57LICENSE
- -rw-r--r--1usernamestaff1.3K82414:57README.md
- -rw-r--r--1usernamestaff246B82414:57build.sh
- drwxr-xr-x@4usernamestaff128B82415:45data
- -rw-r--r--1usernamestaff1.6K82414:57entrypoint.sh
- -rw-r--r--1usernamestaff2.9K82414:57install.sh
- -rw-r--r--1usernamestaff116B82414:57test.sh
执行build命令:
- shbuild.sh

build的过程大约十分钟左右。
运行镜像
创建一个文件夹
- mkdir-p~/data/gpdb
运行容器
- dockerrun-d--namegreenplum-p5432:5432-v/Users/jmx/bigdata/data/gpdb:/Users/jmx/bigdata/datainrgihc/greenplum:6.16.3

此时容器已经运行了,可以通过一下命令查看:
- dockerps-a
- CONTAINERIDIMAGECOMMANDCREATEDSTATUSPORTSNAMES
- b16c80b552f9inrgihc/greenplum:6.16.3"sh/entrypoint.sh"AboutaminuteagoUpAboutaminute22/tcp,0.0.0.0:5432->5432/tcp,:::5432->5432/tcpgreenplum
进入容器
上面可以查看容器id为:b16c80b552f9
- dockerexec-itb16c80b552f9bin/sh
简单操作
进入容器后,我们就可以是使用greenplum了,下面是环境的一些配置说明:

进入安装目录:
- cd/usr/local/greenplum-db

切换gpadmin用户
- sugpadmin
使用psql客户端
- $psql

列出数据库
- postgres=#\d
- Norelationsfound.
- postgres=#\l
- Listofdatabases
- Name|Owner|Encoding|Collate|Ctype|Accessprivileges
- -----------+---------+----------+------------+------------+---------------------
- postgres|gpadmin|UTF8|en_US.utf8|en_US.utf8|
- template0|gpadmin|UTF8|en_US.utf8|en_US.utf8|=c/gpadmin+
- |||||gpadmin=CTc/gpadmin
- template1|gpadmin|UTF8|en_US.utf8|en_US.utf8|=c/gpadmin+
- |||||gpadmin=CTc/gpadmin
- (3rows)
创建数据库
- postgres=#createdatabasetest;
- CREATEDATABASE
使用数据库
- CREATEDATABASE
- postgres=#\ctest
- Youarenowconnectedtodatabase"test"asuser"gpadmin".
- test=#
建表
- createtabletest2(idint,namevarchar(128))distributedby(id);
- CREATETABLE
- test=#
查看表描述信息
- test=#\dtest2;
- Table"public.test2"
- Column|Type|Modifiers
- --------+------------------------+-----------
- id|integer|
- name|charactervarying(128)|
- Distributedby:(id)
查看数据
- test=#insertintotest2values(1,'tom'),(2,'jack'),(3,'Bob');
- INSERT03
- test=#select*fromtest2;
- id|name
- ----+------
- 2|jack
- 3|Bob
- 1|tom
- (3rows)
- test=#
查看所有表
- test=#\dt
- Listofrelations
- Schema|Name|Type|Owner|Storage
- --------+-------+-------+---------+---------
- public|test2|table|gpadmin|heap
- (1row)
运维命令
- gpstate-s

总结
本文主要介绍如何在MacOS上安装部署Greenplum,并给出了具体的操作步骤,安装过程也十分简单。对于Mac的用户而言,如果需要安装一些大数据的环境用于学习和测试,完全没有必要安装虚拟机,一般的大数据技术组件都是支持在MacOS上部署运行的,如果不行,使用Docker也能够方便地安装部署。
原文地址:https://mp.weixin.qq.com/s/4q7zuPKMrckXjtto-93Nuw








发表评论
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。