非平衡部署

非对称部署旨在为资源受限且有高可用需求或具有特定业务场景需求的企业用户提供的一种部署方式。

在进行数据库部署前,安装准备、数据库包安装等部署准备步骤可对应参考不同系统下集群部署步骤完成。
CentOS 7、RedHat 7 等操作系统的安装点击这里;CentOS 8、RedHat 8 部署步骤请点击 这里; Ubuntu 20.04 部署步骤请点击 这里

1 数据库部署

1.1 登录 UI

集群未部署时,使用浏览器访问以下图形化安装向导 URL,此处填写 IP 地址的服务器将成为你集群的 Master (此示例中为 mdw):

http://<IP>:8240/

安装向导的第一个页面,需要填写超级用户密码,使用 sudo more /etc/matrixdb6/auth.conf 命令查看即可。

deployer_1

1.2 选择多节点部署

deployer_2

1.3 添加节点

在本例子中,我们添加一个节点 —— sdw1

deployer_3

在文本框中输入 sdw1 的 IP 地址或主机名或 FQDN,点击“确定”。

deployer_4

deployer_5

1.4 配置集群参数

配置集群参数,这里将 sdw1 设为备用节点,并启用数据镜像,单节点实例个数设为 2 primary + 2 mirror。这里的配置都会按照平衡部署(标准集群配置方式)的模式对集群进行调整。

deployer_6

1.5 设置存储路径

设置数据存储路径和 etcd 路径。

deployer_7

1.6 确认执行信息

该小节为非平衡部署的重点步骤。

执行部署页面分为基础信息、节点信息和实例分布 3 个页面。

1.6.1 基础信息

基础信息页面展示当前部署计划中集群的连接信息、集群规模以及高可用性三方面的信息。

deployer_8

1.6.2 节点信息

节点信息页面展示每个节点的角色以及目录信息列表。

deployer_9

1.6.3 实例分布

实例分布页面展示数据集群所有实例的分布拓扑图,实例包含 Master、Standby、Primary 以及 Mirror。大方块表示节点,带数字的小方块表示实例,数字为 content id。

deployer_10

将鼠标放到实例方块上,可以看到实例的相关信息。

deployer_11

点击“高级操作”,再点击“自定义实例分布”,可以看到实例分布的原始配置文件内容。

deployer_12

实例分布配置文件内容为 CSV 格式,每行对于一个实例配置,一共 4 列,分别为:content id、主机名、端口号、数据目录。

deployer_13

1.6.4 实例分布配置文件的规则

实例分布配置文件的自定义应严格遵守以下规则。

用户需要自行编辑分布规则文件,通过改变content id对应的主机名、端口号和数据目录,来自定义规划出希望的非平衡集群拓扑。

  • 第一列为content id,必须是从 -1 开始的整数序列。
    • -1 可以出现一次或两次,第一次出现为 master、第二次出现为 standby,超过则报错。
    • 0 及以上,可以出现一次或两次,但是 content id 之间必须数量一致,不允许 0 出现两次、但是 1 只出现一次的配法。同样第一次出现为 primary、第二次出现为 mirror。
  • 第二列为主机名,必须是模版给出的主机名范围,不能自己添加新的主机名。添加新主机只能通过前面的 【1.3 添加节点】 步骤。

    注意:不能改变第一行 master 所在的主机名,因为当前的浏览器页面以及后台部署命令都是运行在这台机器上的,改变的话可能引起非预期的错误。

  • 第三列为端口号。同一个主机上,端口不能重复。
  • 第四列为数据目录。这里的数据目录是磁盘的 mount point,并非最终的数据目录路径。例如,配置文件里仅输入/data2, 最终在部署完成后,实际的数据目录是 /data2/mxdata_xxxxxxxxxxxx/master/mxseg-1/

    注意:改动第四列只影响对应 segment 的数据目录,etcd 的存储路径仍然遵循前面【1.5 设置存储路径】中的选择。

修改配置文件后,点击“确定”,保存成功即可在实例分布拓扑图中看见配置后的实例分布变化。

deployer_14

deployer_15

1.7 执行部署

点击“执行部署”按钮部署集群并看见部署进度。

deployer_16

1.8 部署成功

部署成功之后,会增加访问指引页面,主要描述如何访问数据库。

deployer_17

至此,非平衡部署已经操作完成,点击“完成”按钮即可跳转到 UI 首页。

其他

  • 支持包含空白机器(仅etcd)的部署 在 OLTP 部署中,可实现一种三机拓扑:

      mdw: master,seg0 (no workload),etcd0
      smdw: standby,etcd1
      sdw1(低配硬件): etcd2