MatrixDB部署

    因为目前MatrixDB使用的是PostgreSQL 12的内核,而原生Greenplum仍然使用9.6内核,因此优先使用MatrixDB替代Greenplum实现,后续将添加原生的Greenplum支持。

    MatrixDB在逻辑上由两部分组成,Master与Segments,两者均由PostgreSQL实例组成,实例分为四类:Master/Standby/Primary/Mirror

    • Master为用户直接接触的访问端点,用于承接查询,一套MatrixDB部署仅有一个,通常使用独立节点部署。
    • Standby是Master实例的物理从库,用于当Master故障时顶替,是可选的组件,通常也使用独立节点部署。
    • 一套MatrixDB部署通常有多个Segment,每个Segment通常由一个必选的 primary 实例与一个 可选的 mirror 实例组成。
    • Segment的primary与mirror分布由MatrixDB安装向导决定,在集群的Segments节点上通常可能存在有多个不同的Segment实例

    部署惯例

    • Master集群 (master/standby) ( = ) 构成一个PostgreSQL集群,通常命名包含mdw,如mx-mdw
    • 每个Segment (primary/mirror) (gp_role = segment) 构成一个PostgreSQL集群,通常集群命名包含seg,如 mx-seg1,
    • 用户应当显式为集群节点命名,例如 mx-sdw-1, mx-sdw-2, …

    下载软件

    MatrixDB & Greenplum 的RPM包并不是标准Pigsty部署的一部分,因此不会放入默认的pkg.tgz中。 MatrixDB & Greenplum 的RPM包及其完整依赖将打包为一个单独的离线软件包 matrix.tgz。 您可以向Pigsty元节点上添加新的matrix源。

    该命令会创建一个 /www/matrix.repo 文件,默认情况下,您可以访问获取该Repo,该Repo文件指向 http://pigsty/matrix目录。

    配置文件pigsty-mxdb.yml 给出了一个在四节点沙箱环境部署MatrixDB的样例。

    此配置文件中 添加了新Yum源地址,http://pigsty/matrix.repo 确保所有节点都可以访问Matrix Repo。

    开始部署

    在四节点沙箱环境中部署MatrixDB,注意,默认将使用DBSU mxadmin:mxadmin 作为监控用户名与密码

    安装完成后,您需要通过MatrixDB 提供的WEB UI完成接下来的安装。打开 或访问 http://10.10.10.10:8240 ,填入 最后输出的初始用户密码进入安装向导。

    按照提示依次添加MatrixDB的节点:10.10.10.11, 10.10.10.12, 10.10.10.13,点击确认安装并等待完成后,进行下一步。

    如果您在安装向导中指定了不同的密码, 请一并更改 pg_monitor_username 与 变量(如果您使用不同于dbsu的用户,通常还需要在所有实例上配置额外的HBA)。

    请注意,目前MatrixDB / Greenplum 在节点上分配 Segment的逻辑并不确定。当初始化完成后,您可以修改 pg_instances 中Segment实例的定义,并重新部署监控以反映真实拓扑。

    最后,在Greenplum/MatrixDB Master节点上手工执行以下命令,允许监控组件访问从库,并重启生效。

    然后,您便可以从监控系统中,观察到所有MatrixDB集群。MatrixDB Dashboard 提供了关于数据仓库的整体监控概览。

    可选项目

    您可以将 MatrixDB 的 Master集群视作一个普通 PostgreSQL 集群,使用 与 pgsql-createuser 创建业务数据库与用户。