MySQL NDB Cluster安装
MySQL集群是一个无共享的(share-nothing)、分布式节点架构的存储方案,目的是提供容错性和高性能。
MySQL NDB Cluster架构如图:
MySQL NDB Cluster架构按照节点类型分为三部分:
- 管理节点:管理节点通过对配置文件conifg.ini的维护来对其他节点进行管理。该文件可以用来配置有多少副本需要维护、在数据节点上为数据和索引分配多少内存、数据节点的位置、数据节点上保存数据的磁盘的位置,SQL节点的位置信息等,管理节点只能有一个。
- SQL节点:SQL节点可以理解为应用程序和数据节点的一个桥梁,应用程序不能直接访问数据节点,只能先访问SQL节点,然后SQL节点再去访问数据节点来返回数据,Cluster中可以有多个SQL节点,通过每个SQL节点查询到的数据都是一致的,一般来说,SQL节点越多,分配到每个SQL节点的负载就越小,系统的整体性能就越好;
- 数据节点:数据节点用来存放数据,可有多个数据节点。
下面演示MySQL NDB Cluster的部署安装:
在5台VMware 虚拟机上安装部署
在每台虚拟机上执行
[root@localhost ~]# vi /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
172.16.133.131 mgr
172.16.133.132 ndb01
172.16.133.133 ndb02
172.16.133.134 ndb03
172.16.133.135 ndb04
使局域网内集群可以通过主机名访问
1、环境信息:
- 管理节点mgr:172.16.133.131
- SQL节点ndb01:172.16.133.132
- SQL节点ndb02:172.16.133.133
- 数据节点ndb03:172.16.133.134
- 数据节点ndb04:172.16.133.135
2、下载MySQL NDB Cluster软件;
3、安装SQL节点,在每个SQL节点都执行如下操作;
1)创建mysql用户和组,如果该用户和组不存在:
[root@localhost ~]# userdel mysql (因为是新系统,所以就把现有的MySQL用户给删除了)
[root@localhost ~]# groupadd mysql
[root@localhost ~]# useradd -g mysql mysql
[root@localhost ~]# passwd mysql (MySQL密码要设置的复杂一点,或者在创建用户的时候设置不让登陆系统
[root@localhost ~]# mkdir -p /data/mysql/db_file 在mysql 下创建bin_log 、log 目录
[root@localhost ~]# chown -R mysql:mysql /data
2)解压缩 mysql-cluster