目录:
随着数据量规模的扩大,企业对 MySQL 的要求就不仅仅是能用了,也在寻求各种高可用方案。以前我们的大部分高可用方案其实还存在一定缺陷,例如 MySQL Replication 方案,Master 是否存活检测需要一定时间,而和 Slave 的切换也需要时间,因此其高可用程度较大依赖监控软件或自动化管理工具。而早先的 MySQL Cluster 实在不能令人满意,性能差的不行,也让我们的期待一次次落空。本次 MySQL Cluster 7.0 的推出,终于实现了质的飞跃,性能上得到了很大提高。MySQL Cluster 7.0 新特性主要体现在以下几个方面:
本身MySQL Cluster已经实现了高可用,不过由于SQL节点无法对外部负载均衡,因此我们采用 LVS 来实现这一需求。
原文来自: http://johanandersson.blogspot.com/2009/03/bencher-benchmarking-utility-...
bencher
is a test program that allows you to benchmark requests on MySQL
Cluster. I have used this utility a lot of customers, because it lets
me:
从MySQL 5.1 开始,就支持集群+复制了,这对于想要构建一个高可用方案的用户来说,无疑是个惊喜。在这种模式下,既有主从的实时备份,又有基于集群的负载均衡,不足指出在于,从我的测试结果来看,这种方案下的性能还不是太高,仍有待改进。
集群+复制的配置其实很简单,就是配置好2个独立的集群后,把其中一个的SQL节点作为另一个集群SQL节点的slave即可。甚至可以使用下面几种架构:
集群的备份很简单,只需在管理节点上执行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
在管理节点上,运行客户端工具 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)
很简单,直接运行命令:
/usr/local/mysql/bin/ndb_mgmd –f /usr/local/mysql/config.ini
数据节点有些特殊,如果是第一次启动,则需要增加参数 –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的安装路径默认为:/usr/local/mysql。
首先,创建数据文件主目录 /usr/local/mysql/data,然后编辑配置文件:
vi /usr/local/mysql/config.ini
本文主要是尝试MySQL 6.0.3-beta下的集群+复制,没有做深入的测试,仅可作安装配置参考。
如果只是做普通的集群,那么一般只需要4台机器,甚至只需要3台,即把管理节点和SQL节点放在同一个机器上,不过不推荐这么做。如果是集群+复制,则机器数量翻番。
| 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 |
本文主要是尝试MySQL 6.0下的集群+复制,没有做深入的测试,仅可作安装配置参考。
参考资料:MySQL 6.0手册,本文中的图片引用自该手册。
最近评论
11 小时 24 分钟 前
1 天 17 小时 前
1 天 18 小时 前
2 天 21 小时 前
1 周 2 天 前
1 周 2 天 前
1 周 3 天 前