专栏首页杨建荣的学习笔记Greenplum集群部署小记

Greenplum集群部署小记

Greenplum的分布式架构方案MPP对于海量数据处理还是很给力的,今天专门抽时间搭建了一下测试环境。

首先来简单看下Greenplum的架构,这个和Oracle,MySQL还是大不同。

它里面几乎糅括了所有的主从角色概念,比如GP节点就类似于一个集群分发器,是有standby的角色的,数据节点是segment,是有primary和mirror做为互备高可用的。

限于环境情况,我用了3台虚拟机来模拟这个集群。

其中gp01是GP计算节点,gp02,gp03是segment和mirro节点。

192.168.206.129 gp01 192.168.206.128 gp02 192.168.206.130 gp03

GP节点的standby在gp02上面。

部署的时候我用了4个segment.

所以gp02上面的结构是这样的:

primary1 primary2 mirror1 mirror2 gp_standby

gp03的结构是这样的: primary3 primary4 mirror3 mirror4

搭建GP的过程其实还是有点曲折的,但是技术点其实不是很多,回过头来看复杂度其实还好。

我们需要创建GP的标准用户,比如gpadmin

groupadd gpadmin useradd -g gpadmin gpadmin passwd gpadmin

为了能够在各个节点上面做到适配和统一,每个节点都可以建立一套统一的目录结构,比如:

cd /data mkdir -p /data/greenplum_data/{gpmaster,gpdatap1,gpdatap2,gpdatap3,gpdatap4,gpdatap5,gpdatap6,gpdatam1,gpdatam2,gpdatam3,gpdatam4,gpdatam5,gpdatam6} chown -R gpadmin:gpadmin /data/greenplum_data/ 需要注意的是主机的配置,这里建议是使用主机名的方式,避免是IP的方式。

cat /etc/hosts 192.168.206.129 gp01 192.168.206.128 gp02 192.168.206.130 gp03

前期的基本准备就差不多这些,比如内核参数,比如安装包等先略过了。

值得一提的是两个工具gpssh和gpscp,是用Python实现的,可以简单封装一下,就能拿过来自己用了。在部署的时候还是很清晰的。

gpssh gpscp

还有一点不错的就是GP的安装自带了一个配置文件,这个确实很省事。

source /usr/local/greenplum-db/greenplum_path.sh

软件的部署就是解压的过程,没什么可说的了。

说下创建数据库吧。

初始化几个变量:

export MASTER_DATA_DIRECTORY=/data/greenplum_data/gpmaster export PGPRORT=5432 export PGDATABASE=testDB

核心就是配置文件 init_seg_mirror_config了,内容如下:

ARRAY_NAME="Greenplum"

MACHINE_LIST_FILE=/usr/local/greenplum-db/config/seg_hosts

SEG_PREFIX=gpseg

PORT_BASE=33000

declare -a DATA_DIRECTORY=(/data/greenplum_data/gpdatap1 /data/greenplum_data/gpdatap2 )

MASTER_HOSTNAME=gp01

MASTER_DIRECTORY=/data/greenplum_data/gpmaster

MASTER_PORT=5432

TRUSTED_SHELL=ssh

CHECK_POINT_SEGMENTS=8

ENCODING=UTF-8

MIRROR_PORT_BASE=43000

REPLICATION_PORT_BASE=34000

MIRROR_REPLICATION_PORT_BASE=44000

declare -a MIRROR_DATA_DIRECTORY=(/data/greenplum_data/gpdatam2 /data/greenplum_data/gpdatam1)

DATABASE_NAME=testDB

安装使用如下的方式即可。

gpinitsystem -c ./init_seg_mirror_config --locale=C --max_connections=48 --su_password=gpadmin -s gp02

本文分享自微信公众号 - 杨建荣的学习笔记(jianrong-notes),作者:r16笔记第30天

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2018-05-22

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • oracle坏块修复实例

    最近几天发现库里有坏块了,环境是11gR2, linux平台的64位的库。以下是我的修复办法,基于dbms_repair做的在线修复,也可以基于备份rman来修...

    jeanron100
  • 对于新技术栈落地和架构思维的建议

    上线新技术栈要经过怎么样的流程验证,如何设计与打通,评判一个数据架构的好坏有哪些?

    jeanron100
  • 看似诡异的tablespace online问题(r5笔记第95天)

    今天在做一些演示的时候,在虚拟机上装了两套数据库软件,10g和11g的。还是在演示普通数据文件迁移的时候还是碰到了一些意料之外的问题,从当时的情况来看感觉还是比...

    jeanron100
  • 外媒:三星首款AI芯片速度超华为和苹果!

    1月18日消息,据Android Authority网站报道,三星即将完成其首款人工智能(AI)芯片(或称神经处理单元(NPU))的开发工作。这些芯片将应用在其...

    企鹅号小编
  • 一篇文章教你如何捕获前端错误

    随着前端页面承载功能越来越多,用户本地浏览器环境也错综复杂,因此即使有完善的测试,我们也无法保证上线的代码不会出错。在这种场景下,前端页面的监控就成了各个web...

    杨振涛
  • Angular v8 发布!来看看有什么新功能[每日前端夜话0x7A]

    完全按照计划,没有任何意外:框架和 CLI 的更新可以通过 ng update 完成,其新功能是一个受欢迎的补充,符合“演化而不是革命”的座右铭。

    疯狂的技术宅
  • 一篇文章教你如何捕获前端错误

    JavaScript代码在用户浏览器中执行时,由于一些边界情况、本地环境的不可控等因素,可能会存在js运行时错误。

    2020labs小助手
  • 【项目】Github上前十名的机器学习开源项目

    在过去的一个月里,我们对将近250个机器学习开源项目进行了排名,并选出了前10名。 我们比较了在此期间的新项目或主要推出项目。Mybridge AI根据各种因素...

    AiTechYun
  • 腾讯云分布式数据库可用性系统实践

    腾讯云数据库技术专家,赵海明在 PostgreSQL 2017 中国技术大会上,以 腾讯分布式数据库 Tbase 的可靠性系统为例,为大家分享了保障分布式系统...

    云加社区
  • AI议题首次进入世界移动大会,打响第一枪的是LG

    李根 发自 凹非寺 量子位 报道 | 公众号 QbitAI ? 2月26日-3月1日,西班牙巴塞罗那。 全球手机业最具影响力和风向标的大会:世界移动大会(M...

    量子位

扫码关注云+社区

领取腾讯云代金券