7.mysql学习笔记:mysql集群的搭建(一)

mysql集群的搭建


mysql集群的架构

mysql集群是有一个或多个mysql服务器组成,mysql服务器通过ndb存储引擎与ndb集群通信,ndb集群由以下几个组件构成:
1.mysql服务器mysqld
2.数据节点ndbd
3.集群管理服务器
4.集群管理客户端

注意:有时候msyql服务器又被称作sql节点
上述四个部分的管理如下所示:
这里写图片描述


如何存储数据

mysql集群把所有的索引列都保存在内存上,其他非索引列可以存储在内存中,或者存储到带有内存页面缓存的磁盘上,磁盘可以比内存存储更多的非索引列数据。

如果数据发生改变,mysql集群将发生改变的记录写入重做日志,然后通过检查点,定期将数据写入磁盘。由于重做日志是异步提交的,苏一故障期间可能会有少量事务丢失,为了减少事务丢失,mysql集群实现了延迟写入


mysql集群配置实例

实验准备:
192.168.3.240 管理节点(msyql-mgm)
192.168.3.241 数据节点1(mysql-ndbd-1)
192.168.3.242 数据节点2(mysql-ndbd-2)
192.168.3.245 sql节点1(mysql-sql-1)
192.168.3.246 sql节点2(mysql-sql-2)
操作系统:
rhel6.5
iptables 和 selinux关闭

所需要的安装包:
MySQL-Cluster-gpl-client-7.1.4b-1.rhel5.i386.rpm
MySQL-Cluster-gpl-management-7.1.4b-1.rhel5.i386.rpm
MySQL-Cluster-gpl-server-7.1.4b-1.rhel5.i386.rpm
MySQL-Cluster-gpl-storage-7.1.4b-1.rhel5.i386.rpm
MySQL-Cluster-gpl-tools-7.1.4b-1.rhel5.i386.rpm

所有的安装包可以在mysql 的官方网站上进行下载,地址如下:
http://dev.mysql.com/downloads/cluster/


配置管理节点(192.168.3.240)

1.安装如下两个软件:
MySQL-Cluster-gpl-management-7.1.4b-1.rhel5.i386.rpm
MySQL-Cluster-gpl-tools-7.1.4b-1.rhel5.i386.rpm
这里写图片描述

2.创建配置文件所在目录:
[root@server0 mysql]# mkdir -p /usr/local/mysql-cluster/

3.设置mysql集群的配置文件/usr/local/mysql-cluster/config.ini:
内容如下:
这里写图片描述

这里有很多参数需要解释一下:
NoOfReplicas
定义集群中每个表保存的拷贝数,另外还指定结点组的大小。结点组指保存相同信息的结点集合。通常情况下不需要为该参数指定值。NoOfReplicas没有默认值,最大的可能值为 4。

NodeId
集群中结点的唯一标识,取值 1~63。在集群中每个节点的id不可以与其他节点冲突。

HostName
指定结点主机名或IP。

DataMemory
指定数据内存,默认值为 80MB,最小值 1MB,无大小限制。

IndexMemory
指定索引内存,默认值为 18MB,最小值 1MB,无大小限制。


配置数据节点(192.168.3.241)

1.安装相关的配置包:
这里写图片描述

2.创建数据所在目录:
[root@server1 mnt]# mkdir -p /usr/local/mysql/ndbdata

3.修改myql的配置文件/etc/my.cnf:
这里写图片描述


配置sql节点(192.168.3.245)

1.安装所需的安装包:
在进行这个安装过程时因为系统原有的mysql-libs和MySQL-Cluster-server会发生冲突,解决的办法:
(1)先删除系统原有的mysql-libs
[root@server5 mnt]# yum remove mysql-libs -y

(2)再安装MySQL-Cluster-client和MySQL-Cluster-server:
[root@server5 mnt]# yum localinstall MySQL-Cluster-client-gpl-7.3.10-1.el6.x86_64.rpm MySQL-Cluster-server-gpl-7.3.10-1.el6.x86_64.rpm -y

(3)到指定目录拷贝mysql配置文件到/etc/my.cnf:
[root@server5 mysql]# cd /usr/share/mysql/
[root@server5 mysql]# cp my-default.cnf /etc/my.cnf

(4)修改mysql配置文件/etc/my.cnf,内容如下:
这里写图片描述


启动mysql集群

mysql集群的启动顺序如下所示:

首先启动msyql集群的管理节点、然后启动存储节点、最后启动sql节点。

1.启动管理节点:
[root@server0 mysql-cluster]# ndb_mgmd -f /usr/local/mysql-cluster/config.ini

2.启动存储节点
[root@server1 mnt]# ndbd –initial
注意:只在第一次启动ndbd的时候或者在备份、恢复或者配置发生变化后重起时添加–initial参数,这个参数会时机诶单删除由早期ndbd实例创建的、用于恢复的任何文件、包括二进制日志文件。

3.启动sql节点:
[root@server5 mysql]# /etc/init.d/mysql start

4.在mysql集群的管理节点上使用管理客户端进行查看:
这里写图片描述


小结:
通过上述步骤,我们完成了mysql集群的初步搭建,在接下来的章节中我们会陆续添加相关节点。使集群更加的健壮。敬请期待。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值