当前位置: 首页 > news >正文

mysql cluster数据库集群介绍、部署及配置

前言:

MySQL集群是一个无共享的、分布式节点架构的存储方案,旨在提供容错性和高性能。它由三个主要节点组成:管理节点(MGM)、数据节点和SQL节点。

  1. 管理节点(MGM)

    • 定义与用途:管理节点是MySQL Cluster的控制中心,负责管理集群内的其他节点。它提供配置数据,启动和停止节点,运行备份等。
    • 工作原理:管理节点会定期从其他节点收集信息,并基于这些信息来管理集群的状态。例如,当某个数据节点或SQL节点出现故障时,管理节点会检测到这种情况,并可能触发相应的恢复或容错机制。
    • 示例:在一个包含多个数据节点和SQL节点的集群中,管理节点负责确保所有节点都保持同步,并根据需要分配或重新分配工作负载。
  2. 数据节点

    • 定义与用途:数据节点是保存Cluster数据的节点。它们存储实际的数据,并处理与数据相关的操作(如插入、更新、删除等)。
    • 工作原理:数据节点使用NDB Cluster存储引擎来存储和管理数据。它们通过网络与其他节点(包括SQL节点和管理节点)进行通信,以确保数据的一致性和同步。当数据节点接收到来自SQL节点的请求时,它会执行相应的操作,并将结果返回给SQL节点。
    • 示例:在一个电子商务应用中,订单数据和用户数据可能存储在数据节点中。当用户提交订单时,SQL节点会向数据节点发送请求以更新订单状态。数据节点会执行此操作,并将更新后的订单数据返回给SQL节点。
  3. SQL节点

    • 定义与用途:SQL节点主要用于提供MySQL服务,作为访问Cluster数据的接口。客户端(如应用程序或数据库管理员)通过SQL节点与集群进行交互。
    • 工作原理:SQL节点接收来自客户端的请求,并将这些请求转发给适当的数据节点进行处理。然后,它将数据节点的响应返回给客户端。如果某个数据节点出现故障,SQL节点可以将请求转发到其他可用的数据节点,以确保高可用性。
    • 示例:在一个工资单应用程序中,员工可以通过SQL节点查询和更新他们的工资信息。当员工提交工资更改请求时,SQL节点会处理此请求,并将相应的更新操作转发给数据节点。数据节点会执行更新操作,并将结果返回给SQL节点,然后由SQL节点将结果返回给员工。

节点之间的关系与交互

这三个节点之间通过网络进行通信和交互。管理节点负责监控整个集群的状态,并根据需要调整配置或执行恢复操作。数据节点存储实际的数据,并处理与数据相关的操作。SQL节点作为客户端与集群之间的接口,负责接收请求、转发请求和处理响应。

当客户端向SQL节点发送请求时,SQL节点会根据请求的类型和内容将其转发给适当的数据节点。数据节点会执行请求中的操作,并将结果返回给SQL节点。然后,SQL节点将结果返回给客户端。如果某个数据节点出现故障,管理节点会检测到这种情况,并触发相应的容错机制(如将工作负载重新分配给其他数据节点)。

这种分布式架构使得MySQL集群能够提供高可用性和高性能。通过将多个节点组合在一起并共同处理请求,MySQL集群可以处理更多的并发请求,并减少单点故障的风险。

一、服务器规划

共四台服务器:一台管理节点,一台数据节点,两台SQL节点

服务器均为centos7 x86 64位虚拟机

管理节点:192.168.131.129

数据节点:192.168.131.132

SQL 节点: 192.168.131.131, 192.168.131.133

 

二、mysql-cluster安装包

下载地址:https://downloads.mysql.com/archives/cluster/

筛选条件:

Product Version: 7.6.7

Operating System: Linux-Generic

OS Version:看下方图片

点击后方的 Download 进行下载,国内下载较慢可以采用IDM, NDM等工具进行快速下载,

下载后的文件名称为: mysql-cluster-gpl-7.6.7-linux-glibc2.12-x86_64.tar.gz

 

三、服务器原mysql清理

上述四台服务器均需此操作

1.查看mysql安装的rpm包情况:

http://www.lryc.cn/news/343105.html

相关文章:

  • uniapp的app端软件更新弹框
  • win11 Terminal 部分窗口美化
  • 开源go实现的iot物联网新基建平台
  • 24深圳杯ABCD成品论文47页+各小问代码+图表
  • doris经典bug
  • 贪心算法应用例题
  • 亚信科技精彩亮相2024中国移动算力网络大会,数智创新共筑“新质生产力”
  • 图像处理中的颜色空间转换
  • 网络安全之静态路由
  • Golang | Leetcode Golang题解之第74题搜索二维矩阵
  • 2023黑马头条.微服务项目.跟学笔记(五)
  • C语言 | Leetcode C语言题解之第75题颜色分类
  • 淘宝扭蛋机小程序开发:掌上惊喜,转出你的幸运宝藏
  • Oracle索引组织表与大对象平滑迁移至OceanBase的实施方案
  • 【服务治理中间件】consul介绍和基本原理
  • 无人机运营合格证:民用无人机驾驶航空器运营合格证书
  • 【编码利器 —— BaiduComate】
  • python 关键字(in)
  • 【Node.js从基础到高级运用】二十八、Node.js 内存管理浅析
  • AES加密解密
  • 通过红黑树封装 map 和 set 容器(1):红黑树的迭代器
  • mysqlbinlog恢复delete的数据
  • 传递给组件
  • 鸿蒙通用组件弹窗简介
  • [译文] 恶意代码分析:1.您记事本中的内容是什么?受感染的文本编辑器notepad++
  • Spring Boot3.x集成Disruptor4.0
  • GoEdge自建CDN工具
  • 牛客储物点的距离
  • 【C++历练之路】红黑树——map与set的封装实现
  • RDB快照是怎么实现的?