准备
简单说
- Mysql NDB Cluster,大家都明白是 Mysql 数据库的一种高可用解决方案,是为了解决单点机器故障后,不能继续为我们的应用提供数据库支持的问题而产生的。
- 那么,Mysql NDB Cluster 本身能做什么?不能做什么呢?
- 能,横向扩展增加单点 Mysql 数据库,保证整个集群无论时候,只要有一台机器活着,就能说是这个集群在对外输出数据。
- 不能,负载均衡,故障转移
- 而官方说的,负载均衡、故障转移相关都是与Mysql Router 或者 Mysql 的 java-connector.jar 结合起来实现的。
集群的横向扩展
集群的作用大概解决三个问题:
- 高可用(数据库的存活)
- 数据库响应速度(可以多节点同时处理一个请求)
- 数据库上限(灵活的加入一个节点后,使用SQL调整表空间上限)
- 注意:ndbcluster 表空间不支持自动扩展大小
- 需要手动 SQL 操作表空间
查资料
- 我是按照参考里的MySQL Cluster搭建与测试进行搭建的。VMware 我选的 10,比较稳定。系统选的 Linux,用的 Centos7,建议使用参考里的阿里巴巴镜像库去下载,比较快。
动手做
- 需要先移除一个依赖
- mariadb-libs
yum remove mariadb-libs
- 需要先安装四个依赖
- DBI
yum install perl-DBI