使用ClusterControl部署和管理MySQL NDB群集

发布于:2021-01-27 11:38:26

0

449

0

ClusterControl 部署和扩展 MySQL MySQL NDB群集

在ClusterControl 1.5中,我们添加了对MySQL NDB Cluster 7.5的支持。在这篇博文中,我们将介绍一些使ClusterControl成为管理MySQL NDB集群的好工具的特性。首先也是最重要的一点,因为有很多产品的名称中都有“Cluster”,所以我们想对MySQL NDB Cluster本身以及它与其他解决方案的区别说几句话。

MySQL NDB集群

MySQL NDB Cluster是一个基于NDB引擎的MySQL无共享同步集群。它是一个具有自己的特性列表的产品,与Galera Cluster或MySQL InnoDB Cluster有很大的不同。一个主要的区别是使用NDB引擎,而不是InnoDB,后者是MySQL的默认引擎。在NDB集群中,数据被划分到多个数据节点上,而Galera集群或MySQL InnoDB集群包含每个节点上的完整数据集。这对MySQL NDB集群处理使用连接和大数据块的查询的方式产生了严重的影响。

在体系结构方面,MySQL NDB集群由三种不同的节点类型组成。数据节点使用NDB引擎存储数据。数据被镜像以实现冗余,最多有4个数据副本。请注意,ClusterControl将为每个节点组部署2个副本,因为这是经过测试最稳定的配置。管理节点旨在控制集群—出于高可用性的原因,通常有两个这样的节点。SQL节点用作集群的入口点。它们解析SQL,从数据节点请求数据,并在需要时聚合结果集。

MySQL NDB群集的ClusterControl功能

部署方式

ClusterControl 1.5支持MySQL NDB Cluster 7.5的部署。它是通过与其他集群类型相同的部署向导完成的。

在第一步中,您需要配置ClusterControl如何通过SSH登录到主机—这是ClusterControl的标准要求—它是无代理的,因此它需要根SSH直接访问根帐户或通过(密码或无密码)sudo访问。

在下一步中,将为集群定义管理节点。

在这里,您需要决定要有多少个数据节点。如前所述,每2个节点将是一个节点组的一部分,因此这应该是偶数。

最后,您需要决定要在集群中部署多少SQL节点。单击deploy后,ClusterControl将连接到主机,安装软件并配置所有服务。过一段时间,您应该会看到您的集群已部署。

MySQL NDB集群的扩展

对于MySQL NDB集群,clustercontrol1.5.0支持SQL节点的伸缩。您可以从“群集作业”下拉列表中访问作业。

在这里,您可以填写要添加的节点的主机名,这就是您所需要的全部内容—ClusterControl将处理其余的内容。

MySQL NDB集群的管理

ClusterControl帮助您管理MySQL NDB集群。在本节中,我们将介绍一些我们拥有的管理特性。

备份

备份对于任何生产环境都至关重要。在发生灾难时,只有良好的备份才能最大限度地减少数据丢失,并帮助您从问题中快速恢复。复制可能并不总是有效的解决方案—DROP TABLE将在拓扑中的所有主机上删除该表。即使是一个被耽搁的奴隶也只能耽搁那么多。

ClusterControl支持MySQL ndb群集的ndb备份。

您可以轻松地创建由ClusterControl执行的备份计划。

代理层

ClusterControl允许您在MySQL NDB集群上部署一个完整的高可用性堆栈。对于代理层,我们支持HAProxy和MaxScale的部署。

如上面的屏幕截图所示,部署看起来与其他集群类型非常相似。您需要决定是使用现有HAProxy还是部署新HAProxy。然后您需要选择如何安装它—使用节点上可用的存储库中的软件包,或者从最新版本的源代码编译它。

如果您决定使用HAProxy,则可以使用Keepalived和virtualip配置高可用性。

过程如下-定义一个虚拟IP和应该在其上启动它的接口。然后,您可以为安装的每个HAProxy部署它。其中一个Keepalived进程将被确定为“主进程”,它将在其节点上启用VIP。然后,您的应用程序将连接到此特定IP。当当前活动的HAProxy不可用时,VIP将移动到另一个可用的HAProxy,从而恢复连接。

恢复管理

虽然MySQL NDB集群可以容忍单个节点的故障,但是及时对这些故障做出反应是很重要的。ClusterControl为群集的所有组件提供自动恢复。无论发生什么故障(管理节点、数据节点或SQL节点),ClusterControl都会自动重新启动它们。

监控MySQL NDB集群

必须监控任何生产就绪的环境。ClusterControl为您提供了一系列要监控的指标。在“概述”页面中,我们将根据集群的最重要指标显示图表。您还可以创建自己的仪表板,显示在您的环境中有用的其他数据。

 

除了这些图之外,“概述”页面还根据一些MySQL NDB集群度量(如已用索引内存、数据内存和一些缓冲区的状态)来深入了解集群的状态。

 

它还提供对主机指标的监视,包括CPU利用率、RAM、磁盘或网络统计数据。这些图表对于构建集群健康状况的视图也至关重要。

ClusterControl还可以通过允许您访问查询监视器来帮助您提高数据库的性能,查询监视器保存有关您的流量的统计信息。

如上面的屏幕截图所示,您可以看到针对集群运行的查询类型、给定类型的查询数量、它们的执行时间和总执行时间。这有助于确定哪些查询速度慢,哪些查询负责大部分流量。然后,您可以将注意力集中在能够为您提供最大性能改进的查询上。