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

前言:

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包情况:

rpm -qa | grep mysql

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/685827.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

多址通信方式的抗噪声性能和系统容量对比

🏆本文收录于「Bug调优」专栏,主要记录项目实战过程中的Bug之前因后果及提供真实有效的解决方案,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&…

Qt复习第二天

1、菜单栏工具栏状态栏 #include "mainwindow.h" #include "ui_mainwindow.h" #pragma execution_character_set("utf-8"); MainWindow::MainWindow(QWidget *parent): QMainWindow(parent), ui(new Ui::MainWindow) {ui->setupUi(this);//菜…

0510_IO5

练习题&#xff1a; #include <stdio.h>#include <string.h>#include <stdlib.h>#include <sys/types.h>#include <unistd.h>#include <sys/stat.h>#include <fcntl.h>#include <pthread.h>#include <semaphore.h>#incl…

第十一讲:指针(3)

第十一讲&#xff1a;指针&#xff08;3&#xff09; 1.字符指针变量1.1存储一个字符1.2存储一个字符串1.3一个有趣的面试题 2.数组指针变量2.1什么是数组指针变量2.2数组指针变量的初始化 3.二维数组传参的本质4.函数指针变量4.1介绍函数指针变量4.2 两段有趣的代码4.2.1代码1…

TP5000是一款开关降压型单节锰锂电池/磷酸铁锂电池充电管理芯片IC

一般概述 TP5000是一款开关降压型单节锰锂电池/磷酸铁锂电池充电管理芯片。其QFN16超小型封装与简单的外围电路&#xff0c;使得TP5000非常适用于便携式设备的大电流充电管理应用。同时&#xff0c;TP5000内置输入过流、欠压保护、芯片过温保护、短路保护、电池温度监控…

videosapi、强大的微信管理api

接口地址&#xff1a;videosapi.com 同步个人收藏夹 {"appId": "{{appid}}","syncKey": "" } 出参 {"ret": 200,"msg": "操作成功","data": {"syncKey": "CAESCAgBEJyi9e4…

设计模式1——初步认识篇

设计模式1——初步认识篇 一、先让我们浅聊一下面向对象和设计模式。 说起设计模式&#xff0c;我第一次听到它&#xff0c;是在学习面向对象的时候。那么什么是面向对象&#xff0c;什么是设计模式&#xff0c;而且设计模式和面向对象又有什么关系呢&#xff1f; 1、什么是面…

G.AB路线【蓝桥杯】/bfs+可重复走

AB路线 bfs可重复走 思路&#xff1a;本题和传统的bfs题目不同&#xff0c;本题为了满足题目先走K个A再走K个B&#xff0c;可能需要重复走某个格子才能继续走下去&#xff0c;故vis数组可以多开一维&#xff0c;vis[x][y][z]表示第z次走到x行y列这种情况是否出现过 A A A B B …

通用型产品发布解决方案(后端环境搭建)

文章目录 后端renren脚手架配置1.解压后放到项目目录下2.新建商品模块1.创建一个新模块 sunliving-commodity2.删除两个不必要的文件3.pom.xml 引入依赖 3.maven进行聚合管理1.将刚才配置的pom.xml文件复制到父项目下并进行修改2.手动将这个pom.xml加入项目&#xff08;如果右下…

vs2019 里 C++ 20规范的 string 类的源码注释

&#xff08;1&#xff09;读源码&#xff0c;可以让我们更好的使用这个类&#xff0c;掌握这个类&#xff0c;知道咱们使用了库代码以后&#xff0c;程序大致具体是怎么执行的。而不用担心程序出不知名的意外的问题。也便于随后的代码调试。 string 类实际是 库中 basic_strin…

R2S+ZeroTier+Trilium

软路由使用ZeroTier搭建远程笔记 软路由使用ZeroTier搭建远程笔记 环境部署 安装ZeroTier安装trilium 环境 软路由硬件&#xff1a;友善 Nanopo R2S软路由系统&#xff1a;OpenWrt&#xff0c;使用第三方固件nanopi-openwrt。内网穿透&#xff1a;ZeroTier。远程笔记&…

数据分析:基于sparcc的co-occurrence网络

介绍 Sparcc是基于16s或metagenomics数据等计算组成数据之间关联关系的算法。通常使用count matrix数据。 安装Sparcc软件 git clone gitgithub.com:JCSzamosi/SparCC3.git export PATH/path/SparCC3:$PATHwhich SparCC.py导入数据 注&#xff1a;使用rarefy抽平的count ma…