三條命令搞定MacOS安裝Greenplum
寫在前面
Mac的Term2 是 Terminal 的替代者。這是一款用于 macOS 的終端模擬器,支持窗口分割、熱鍵、搜索、自動補齊、無鼠標復制、歷史粘貼、即時重播等功能特性,適用于 MacOS 10.10 及以上版本。
Mac的用戶可以通過iterm2終端獲取Linux操作系統(tǒng)的體驗。我們常見的大數據技術組件(比如Flink、Hadoop、Hive、Kafka等等)都可以在Mac OS上直接進行安裝,操作過程與Linux安裝基本無差別。既然主流的大數據技術框架可以很方便地在MacOS上部署運行,那Greenplum是否也可以很方便的在MacOS上部署呢?翻閱官網發(fā)現了下面的支持部署的操作系統(tǒng)說明:
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,可以執(zhí)行下面的步驟:
- 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
執(zhí)行build命令:
- sh build.sh
build的過程大約十分鐘左右。
運行鏡像
創(chuàng)建一個文件夾
- 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了,下面是環(huán)境的一些配置說明:
進入安裝目錄:
- 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)
創(chuàng)建數據庫
- 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的用戶而言,如果需要安裝一些大數據的環(huán)境用于學習和測試,完全沒有必要安裝虛擬機,一般的大數據技術組件都是支持在MacOS上部署運行的,如果不行,使用Docker也能夠方便地安裝部署。