—— 原文发布于本人的微信公众号“大数据与人工智能Lab”(BigdataAILab),欢迎关注。
Greenplum是一个MPP(海量并行处理)计算框架的分布式数据库,其数据库引擎层是基于著名的Postgresql数据库,企业级数据库产品,现已开源。Greenplum拥有丰富的特性,包括:
1、完全支持ANSI SQL 2008标准和SQL OLAP 2003 扩展,支持ODBC和JDBC
2、支持分布式事务,支持ACID
3、支持行存储、列存储,以及可通过外部表的方式访问其它关系型数据库或者Hadoop
4、拥有良好的线性扩展能力,支持上千个节点
Greenplum的体系架构如下:
master节点可实现主备高可用,避免单点故障;segments节点分散存放数据,数据作多副本保存,可进行数据的并行查询和操作,非常高效。
下面描述在docker中安装配置greenplum集群的过程
一、安装docker
本人手上只有一台笔记本,安装了Ubuntu操作系统,为了方便安装测试greenplum集群,在Ubuntu操作系统上安装docker,然后创建多个容器构建出一个greenplum集群。
1、安装docker
sudo apt-get install docker
2、拉取centos镜像
docker pull centos:latest
3、创建容器,作为greenplum的节点
sudo docker run --name gpcentos1 -it centos /bin/bash
sudo docker run --name gpcentos2 -it centos /bin/bash
sudo docker run --name gpcentos3 -it centos /bin/bash
sudo docker run --name gpcentos4 -it centos /bin/bash
二、配置基础环境
进入到每个greenplum节点,配置基础环境
1、安装相关的依赖包
由于拉取了docker的centos镜像,这个是centos的简化版本,里面有一些程序包是没有默认安装的,会影响到后面部署greenplum,因此在docker的每个节点中安装相关的依赖包
# centos 安装相关的依赖包(每个节点)
yum install -y net-tools which openssh-clients openssh-server less zip unzip iproute.x86_64