写在前面
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了,步骤非常简单:
- $ brew install --cask --appdir=/Applications docker
镜像制作
假设已经安装了git,可以执行下面的步骤:
- git clone https://github.com/tangyibo/greenplum_docker.git
克隆完成之后,进入克隆的文件夹
- cd greenplum_docker/
可以看到文件夹下面有如下的文件:
- -rw-r--r-- 1 username staff 665B 8 24 14:57 Dockerfile
- -rw-r--r-- 1 username staff 8B 8 24 14:57 LICENSE
- -rw-r--r-- 1 username staff 1.3K 8 24 14:57 README.md
- -rw-r--r-- 1 username staff 246B 8 24 14:57 build.sh
- drwxr-xr-x@ 4 username staff 128B 8 24 15:45 data
- -rw-r--r-- 1 username staff 1.6K 8 24 14:57 entrypoint.sh
- -rw-r--r-- 1 username staff 2.9K 8 24 14:57 install.sh
- -rw-r--r-- 1 username staff 116B 8 24 14:57 test.sh
执行build命令:
- sh build.sh
build的过程大约十分钟左右。
运行镜像
创建一个文件夹
- mkdir -p ~/data/gpdb
运行容器
- docker run -d --name greenplum -p 5432:5432 -v /Users/jmx/bigdata/data/gpdb:/Users/jmx/bigdata/data inrgihc/greenplum:6.16.3
此时容器已经运行了,可以通过一下命令查看:
- docker ps -a
- CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
- b16c80b552f9 inrgihc/greenplum:6.16.3 "sh /entrypoint.sh" About a minute ago Up About a minute 22/tcp, 0.0.0.0:5432->5432/tcp, :::5432->5432/tcp greenplum
进入容器
上面可以查看容器id为:b16c80b552f9
- docker exec -it b16c80b552f9 bin/sh
简单操作
进入容器后,我们就可以是使用greenplum了,下面是环境的一些配置说明:
进入安装目录:
- cd /usr/local/greenplum-db
切换gpadmin用户
- su gpadmin
使用psql客户端
- $ psql
列出数据库
- postgres=# \d
- No relations found.
- postgres=# \l
- List of databases
- Name | Owner | Encoding | Collate | Ctype | Access privileges
- -----------+---------+----------+------------+------------+---------------------
- 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
- (3 rows)
创建数据库
- postgres=# create database test;
- CREATE DATABASE
使用数据库
- CREATE DATABASE
- postgres=# \c test
- You are now connected to database "test" as user "gpadmin".
- test=#
建表
- create table test2(id int,name varchar(128)) distributed by (id);
- CREATE TABLE
- test=#
查看表描述信息
- test=# \d test2;
- Table "public.test2"
- Column | Type | Modifiers
- --------+------------------------+-----------
- id | integer |
- name | character varying(128) |
- Distributed by: (id)
查看数据
- test=# insert into test2 values(1,'tom'),(2,'jack'),(3,'Bob');
- INSERT 0 3
- test=# select * from test2;
- id | name
- ----+------
- 2 | jack
- 3 | Bob
- 1 | tom
- (3 rows)
- test=#
查看所有表
- test=# \dt
- List of relations
- Schema | Name | Type | Owner | Storage
- --------+-------+-------+---------+---------
- public | test2 | table | gpadmin | heap
- (1 row)
运维命令
- gpstate -s
总结
本文主要介绍如何在MacOS上安装部署Greenplum,并给出了具体的操作步骤,安装过程也十分简单。对于Mac的用户而言,如果需要安装一些大数据的环境用于学习和测试,完全没有必要安装虚拟机,一般的大数据技术组件都是支持在MacOS上部署运行的,如果不行,使用Docker也能够方便地安装部署。