实验环境: Centos6.5 minimal 64 位系统
服务器 IP:
10.90.9.156 管理节点
10.90.9.177 存储结点 1
10.90.9.180 存储结点 2
10.90.9.165 sql 接入节点 1
10.90.9.167 sql 接入节点 2
包版本:
MySQL Cluster:mysql-cluster-gpl-7.5.10-linux-glibc2.12-x86_64.tar.gz
MySQL 集群概述
MySQL Cluster 是 MySQL 适合于分布式计算环境的高实用、高冗余版本。Cluster 的汉语是“集群”的意思。
它采用了 NDB Cluster 存储引擎,允许在 1 个 Cluster 中运行多个 MySQL 服务器。
MySQL Cluster 是一种技术,该技术允许在无共享的系统中部署“内存中”数据库的 Cluster 。通过无共享
体系结构,系统能够使用廉价的硬件,而且对软硬件无特殊要求。此外,由于每个组件有自己的内存和磁盘,
不存在单点故障。
1)SQL 节点: 给上层应用层提供 sql 访问。
2)管理节点(MGM): 管理整个集群。 启动,关闭集群。 通过 ndb_mgmd 命令启动集群
3)存储/数据节点: 保存 cluster 中的数据。 数据节点,可以提供副本。实现数据冗余。
4)NDB 引擎:是一种 “内存中”的存储引擎 , 它具有可用性高和数据一致性好的特点。
NDB 引擎介绍
MySQL Cluster 使用了一个专用的基于内存的存储引擎——NDB 引擎,这样做的好处是速度快, 没有磁盘
I/O 的瓶颈,但是由于是基于内存的,所以数据库的规模受系统总内存的限制, 如果运行 NDB 的 MySQL 服务
器一定要内存够大,比如 4G, 8G, 甚至 16G。NDB 引擎是分布式的,它可以配置在多台服务器上来实现数据
的可靠性和扩展性,理论上 通过配置 2 台 NDB 的存储节点就能实现整个数据库集群的冗余性和解决单点故障
问题。
缺陷:
1)基于内存,数据库的规模受集群总内存的大小限制
2)基于内存,断电后数据可能会有数据丢失,这点还需要通过测试验证。
3)多个节点通过网络实现通讯和数据同步、查询等操作,因此整体性受网络速度影响,因此速度也比较慢
优点:
1)多个节点之间可以分布在不同的地理位置,因此也是一个实现分布式数据库的方案。
2)扩展性很好,增加节点即可实现数据库集群的扩展。
3)冗余性很好,多个节点上都有完整的数据库数据,因此任何一个节点宕机都不会造成服务中断。
官网下载地址
https://dev.mysql.com/downloads/cluster/
MySQL Cluster 集群搭建
一、卸载系统自带的 mysql 所有组件(所有机器,除了客户机)
yum -y remove mysql*
rpm -qa | grep mysql
rpm -e --nodeps xxxxx
rm -rf /var/lib/mysql/
rm -rf /etc/my.cnf
rm -rf /etc/init.d/mysqld
vim /etc/profile 删除与 mysql 相关内容
chkconfig --list | grep mysql
chkconfig --del mysqld
二、安装配置管理节点(MGM)
评论