Cluster/集群

mysql cluster
mysql集群

MySQL Cluster 7.2.7内存表和磁盘表对比测试

一、准备工作
自从2009年测试MySQL Cluster 7.0之后,就没怎么关注过它,发展实在太慢了,还有很多不靠谱的地方。前阵子退出7.2.7版本后,看了看新特性介绍,号称性能比以往版本高了很多,于是再关注并进行测试。
部署过程不多说,下载PRM包后直接安装即可。共10个节点,其中1个管理节点,其他9个节点同时作为数据和SQL节点,所有节点服务器配置图:

MySQL Cluster管理节点关键配置见下:

利用MySQL Cluster 7.0 + LVS 搭建高可用环境

目录:

1、前言


随着数据量规模的扩大,企业对 MySQL 的要求就不仅仅是能用了,也在寻求各种高可用方案。以前我们的大部分高可用方案其实还存在一定缺陷,例如 MySQL Replication 方案,Master 是否存活检测需要一定时间,而和 Slave 的切换也需要时间,因此其高可用程度较大依赖监控软件或自动化管理工具。而早先的 MySQL Cluster 实在不能令人满意,性能差的不行,也让我们的期待一次次落空。本次 MySQL Cluster 7.0 的推出,终于实现了质的飞跃,性能上得到了很大提高。MySQL Cluster 7.0 新特性主要体现在以下几个方面:

  • 数据节点多线程
  • 可以在线增加节点
  • 大记录存取改进
  • 支持windows平台

本身MySQL Cluster已经实现了高可用,不过由于SQL节点无法对外部负载均衡,因此我们采用 LVS 来实现这一需求。

[MySQL 6.0 体验] 集群(cluster)+复制(replicate) -- 集群下的复制

7. 集群下的复制

7.1. 简述

从MySQL 5.1 开始,就支持集群+复制了,这对于想要构建一个高可用方案的用户来说,无疑是个惊喜。在这种模式下,既有主从的实时备份,又有基于集群的负载均衡,不足指出在于,从我的测试结果来看,这种方案下的性能还不是太高,仍有待改进。
集群+复制的配置其实很简单,就是配置好2个独立的集群后,把其中一个的SQL节点作为另一个集群SQL节点的slave即可。甚至可以使用下面几种架构:

[MySQL 6.0 体验] 集群(cluster)+复制(replicate) -- 备份、恢复

6. 备份、恢复

6.1. 备份

集群的备份很简单,只需在管理节点上执行START BACKUP 即可:

ndb_mgm> START BACKUP
Waiting for completed, this may take several minutes
Node 3: Backup 4 started from node 1
Node 3: Backup 4 started from node 1 completed
 StartGCP: 7847 StopGCP: 7850
 #Records: 1736024 #LogRecords: 0
 Data: 41649824 bytes Log: 0 bytes

[MySQL 6.0 体验] 集群(cluster)+复制(replicate) -- 简单管理

5. 管理

在管理节点上,运行客户端工具 ndb_mgm:

/usr/local/mysql/bin/ndb_mgm
-- NDB Cluster -- Management Client --

#查看集群状态

ndb_mgm> show
Cluster Configuration
---------------------
[ndbd(NDB)]     2 node(s)
id=3    @192.168.0.3  (mysql-6.0.3 ndb-6.2.6, Nodegroup: 0, Master)
id=4    @192.168.0.4  (mysql-6.0.3 ndb-6.2.6, Nodegroup: 0)

[ndb_mgmd(MGM)] 1 node(s)
id=1    @192.168.0.1  (mysql-6.0.3 ndb-6.2.6)

[mysqld(API)]   2 node(s)
id=2    @192.168.0.2  (mysql-6.0.3 ndb-6.2.6)
id=5 (not connected, accepting connect from any host)

[MySQL 6.0 体验] 集群(cluster)+复制(replicate) -- 启动节点

4. 启动

4.1. 启动管理节点

很简单,直接运行命令:

/usr/local/mysql/bin/ndb_mgmd –f /usr/local/mysql/config.ini

4.2. 启动数据节点

数据节点有些特殊,如果是第一次启动,则需要增加参数 –initial,如果不是,直接启动即可:
第一次启动:

/usr/local/mysql/bin/ndbd --initial

非第一次启动:

/usr/local/mysql/bin/ndbd

如果你不是把 my.cnf 放在 /etc/ 下,则需要指定实际位置所在,比如:

/usr/local/mysql/bin/ndbd –defaults-file=/usr/local/mysql/my.cnf --initial

/usr/local/mysql/bin/ndbd –defaults-file=/usr/local/mysql/my.cnf

[MySQL 6.0 体验] 集群(cluster)+复制(replicate) -- 简介、准备工作

1. 简介

本文主要是尝试MySQL 6.0.3-beta下的集群+复制,没有做深入的测试,仅可作安装配置参考。

2. 准备工作

如果只是做普通的集群,那么一般只需要4台机器,甚至只需要3台,即把管理节点和SQL节点放在同一个机器上,不过不推荐这么做。如果是集群+复制,则机器数量翻番。

2.1. 普通集群

Node IP Address
管理节点 (MGM) 192.168.0.1
SQL 节点 (SQL) 192.168.0.2
数据节点 A (NDBD) 192.168.0.3
数据节点 B (NDBD) 192.168.0.4

页面

Subscribe to RSS - Cluster/集群