您好,欢迎访问一九零五行业门户网

MySQL Cluster 概述与部署

mysql cluster最显著的优点就是高可用性,高实时性,高冗余,扩展性强。它允许在无共享的系统中部署内存中数据库的cluster.通过无
mysql cluster概述
mysql cluster最显著的优点就是高可用性,高实时性,高冗余,扩展性强。
它允许在无共享的系统中部署内存中数据库的cluster.通过无共享体系结构,系统能够使用廉价的硬件.此外,由于每个组件有自己的内存和磁盘,所以不存在单点故障.
它由一组计算机构成,每台计算机上均运行者多种进程,包括mysql服务器,ndb cluster的数据节点,管理服务启,以及专门的数据访问程序
所有的这些节点构成一个完整的mysql集群体系.数据保存在ndb存储服务器的存储引擎中,表(结构)则保存在mysql服务器中.应用程序通过mysql服务器访问这些数据表,集群管理服务器通过管理工具(ndb_mgmd)来管理ndb存储服务器。
mysql cluster 的详细介绍:请点这里
mysql cluster 的下载地址:请点这里
推荐阅读:
mysql cluster 备份与恢复
mysql cluster安装配置
mysql cluster 3台机器搭建集群环境 doc
mysql cluster7.2在线增加数据节点存在重大弊端
基本概念
ndb是一种内存中的存储引擎,它具有可用性高和数据一致性好的特点.下面介绍mysql cluster 节点时,它表示进程.在单台计算机上可以有任意数目的节点.
管理节点(mgm):这类节点的作用是管理mysql cluster内的其他节点,如配置文件和cluster 日志,启动并停止节点,运行备份等.cluster中的每个节点从管理服务器上检索配置数据,并请求管理服务器所在位置的方式.当数据节点内出现新的事件时,节点将关于这类事件的信息传输到管理服务器上,然后,又将这类信息写入cluster日志。由于这类节点负责管理其他节点的配置,所以应在启动其他节点之前首先启动这类节点.mgm节点是用命令ndb_mgmd来启动
数据节点(ndb):这类节点用于保存cluster的数据.数据节点的数目与副本的数目相关,是片段的倍数.假设有2个副本,每个副本有2个片段,那么就有4个数据节点.不过没有必要设置多个副本.数据节点是用命令ndbd来启动的.
sql节点:这是用来访问cluster数据的节点.对于mysql cluster来说,客户端节点是使用ndb cluster存储引擎的传统mysql服务器.通常,sql节点使用将ndbcluster添加到my.cnf后使用mysqld 启动
此外,可以有任意数目的cluster客户端进程或应该程序.它们分为两种类型,即标准mysql客户端和管理客户端.
标准mysql客户端:能够从php,perl,c,c++,java,python,ruby等编写的现有mysql应用程序上访问mysql cluster
管理客户端:这类客户端与管理服务器相连,并提供了启动和停止节点,启动和停止消息跟踪,显示节点版本和状态,启动和停止备份等命令.
以下是mysql cluster 架构示意图:
由于mysql cluster采用的是tcp/ip方式连接,并且节点之间的数据传输没有加密,最后使用单独的子网里.
下面来实施部署
为了方便 这里我把管理节点,数据节点,sql节点放在一台机器上.
管理节点1 10.1.6.205
数据节点1 10.1.6.203
数据节点2 10.1.6.205
sql节点1  10.1.6.203
sql节点2  10.1.6.205
1.安装(这里安装7.2.6版本)
下载mysql-cluster-gpl-7.2.6-linux2.6-x86_64.tar.gz 二进制包(里面包含ndb,mysql)
root@10.1.6.205:~# tar -c /usr/local -xzvf mysql-cluster-gpl-7.2.6-linux2.6-x86_64.tar.gz
root@10.1.6.205:/usr/local# ln -s /usr/local/mysql-cluster-gpl-7.2.8-linux2.6-i686 /usr/local/mysql
root@10.1.6.205:/usr/local# cd mysql
root@10.1.6.205:/usr/local/mysql# scripts/mysql_install_db --user=mysql
root@10.1.6.205:/usr/local/mysql# chown -r mysql:mysql /usr/local/mysql
同理10.1.6.203
2.配置sql节点和存储ndb节点
root@10.1.6.205:/usr/local/mysql# vim /etc/my.cnf
[mysqld]
basedir=/usr/local/mysql/
datadir=/usr/local/mysql/data/
user=mysql
port=3306
socket=/tmp/mysql.sock
ndbcluster
max_connect_errors=10000
ndb-connectstring=10.1.6.205
connect_timeout = 300
[mysql_cluster]
ndb-connectstring=10.1.6.205
同理10.1.6.203
3.配置管理节点
root@10.1.6.205:/usr/local/mysql# vim /opt/cluster/config.ini
[ndbd default]
noofreplicas=2   
datamemory=80m    #分配data storage使用的内存  每个ndb占用
indexmemory=18m  #分配index storage使用的内存  每个ndb占用
[tcp default]
portnumber=2205  #ndb监听端口
#设置管理节点
[ndb_mgmd]
nodeid=1
hostname=10.1.6.205
datadir=/opt/cluster  #在mgm上保存日志的目录
#设置存储节点ndb1
[ndbd]
nodeid=2
hostname=10.1.6.203
datadir=/usr/local/mysql/data
#设置存储节点ndb2
[ndbd]
nodeid=3
hostname=10.1.6.205
datadir=/usr/local/mysql/data
#设置sql节点1
[mysqld]
nodeid=4
hostname=10.1.6.203
#设置sql节点2
[mysqld]
nodeid=5
hostname=10.1.6.205
[mysqld]    #运行任意ip连接
[mysqld]
继续阅读本文的精彩内容请看第2页:

其它类似信息

推荐信息