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 创建业务数据库与用户。