CentOS6.5X64安装mysql集群

本文详细介绍了如何使用NDBCluster存储引擎构建MySQL集群,包括集群的概念、组件介绍、安装配置过程及高可用性的实现。
  1. “NDB” 是什么意思?
    它的意思是: “网络数据库”.NDB(也叫NDB Cluster或者NDBCLUSTER),使用它才能让MySQL支持集群.

  2. 什么是mysql集群?
    Mysql Cluster(集群)是Mysql适合于分布式计算环境的高实用,高冗余版本(其实是Mysql发布的一个版本)。它采用了NDB Cluster存储引擎,允许在一个集群中运行多个Mysql服务器。在mysql5.0及以上的的二进制版本中,以及与最新的Linux版本兼容RPM 包中提供了该存储引擎。
    Mysql Cluster是一种技术,该技术允许在无共享的系统中部署“内存中”数据库的Cluster(集群).通过无共享体系结构,系统能够使用低廉的硬件,而且对软硬件无特殊要求。此外每个组件有自己的内存和硬盘,不存在单点故障。
    Mysql Cluster由一组计算机组成,每台计算机上均运行着多种进程,包括Mysql服务器,NDB Cluster的数据节点,管理服务器,以及(可能)专门的数据访问程序,关于Cluster中这些组件的关系图如下:

图一
名词解释:
A:冗余:通常指通过多重备份来增加系统的可靠性。

Mysql cluster的一些概念:
1-1 . NDB Management Server(NDB_MGMD)
这里节点的作用是管理Mysql Cluster内的其他节点,如提供配置数据,启动并停止节点,运行备份等。由于这里节点负责管理其他节点的配置,应在启动其他节点前首先启动这类节点。启动命令是:“ndb_mgmd"。
1-2 .SQL Node(客户节点)
这是用来访问Cluster数据的节点。对于Mysql Cluster,客户端节点是使用NDB Cluster存储引擎的传统Mysql服务器。通常,SQL节点是使用命令"mysqld -ndbcluster"启的,或将"ndbcluster"添加到"my.cnf"后使用"mysqld"启动。
1-3 .Data Node(数据节点)
数据节点用于保存Cluster的数据。数据节点的数据与副本的数目有关,是片段的倍数。例如:对于两个副本,每个副本有两个片段,那么就有四个数据节点。不过没有必要设置多个副本。数据节点是用命令"ndbd"启动的。

管理服务器负责管理Cluster配置文件和Cluster日志。 Cluster中的每个节点从管理服务器检索配置数据,并请求确定管理服务器所在的位置的方式。当数据节点内出现新的事件时,节点奖关于这类事件的信息传 输到管理服务器,然后将这里信息写入Cluster日志。

1-4 . 如果上面的描述还不是太清晰,请参见下面的连接,应该可以了解的更清晰
http://dev.mysql.com/doc/refman/5.1/zh/ndbcluster.html#mysql-cluster-overview

  1. 为什么要实现高可用的mysql集群
    对于外部应用来说,访问ndb,还是要使用ip地址的方式来连接sql节点来使用数据库。如果只有一个sql节点,当该节点宕机后,外部应用将无法 使用ndb,也就是对外部应用程序的单节点故障。解决sql的单点故障的方法就是引入多个sql节点,再透过lvs技术给外部应用提供统一的ip地址来实 现负载均衡。为了负载均衡器的宕机不影响使用,又引入了多台负载均衡器,再透过keepalived技术来实现高可用性。当某一个sql节点和负载均衡节 点宕机后不影响外部应用程序的使用。
  2. mysql集群实现的步骤

3-1. 规划
在MySql集群中分3类,5个节点
管理节点(mgm)-------------------ip:192.168.1.171
SQL节点1(sql1)------------------ip:192.168.1.172
SQL节点2(sql2)------------------ip:192.168.1.173
数据节点1(ndbd1)---------------ip:192.168.1.174
数据节点2(ndbd2)---------------ip:192.168.1.175
3-2.软件包下载与安装
下载地址:
http://ftp.ntu.edu.tw/pub/MySQL/Downloads/MySQL-Cluster-7.1/
下载包如下:
下载的时候注意os版本以及是否是64位,因为我的redhat5是64位的,所以,我下载了如下包:
MySQL-Cluster-gpl-client-7.1.34-1.rhel5.x86_64.rpm #sql节点安装
MySQL-Cluster-gpl-management-7.1.34-1.rhel5.x86_64.rpm #管理节点安装
MySQL-Cluster-gpl-server-7.1.34-1.rhel5.x86_64.rpm #sql节点安装
MySQL-Cluster-gpl-storage-7.1.34-1.rhel5.x86_64.rpm # ndbd节点安装
MySQL-Cluster-gpl-tools-7.1.34-1.rhel5.x86_64.rpm #管理节点安装

安装命令如下:
每一台机器安装前先卸载掉系统自带的Mysql软件
rpm -qa | grep -i mysql //grep -i是不分大小写字符查询,只要含有mysql就显示
rpm -e --nodeps *** //卸载掉查询出来的版本
安装管理节点
#rpm -ivh MySQL-Cluster-gpl-management-7.1.34-1.rhel5.x86_64.rpm
#rpm -ivh MySQL-Cluster-gpl-tools-7.1.34-1.rhel5.x86_64.rpm

安装sql节点
#rpm -ivh MySQL-Cluster-gpl-server-7.1.34-1.rhel5.x86_64.rpm
#rpm -ivh MySQL-Cluster-gpl-client-7.1.34-1.rhel5.x86_64.rpm

安装ndb节点
#rpm -ivh MySQL-Cluster-gpl-storage-7.1.34-1.rhel5.x86_64.rpm

3-3. 配置管理(mgm)节点
#mkdir /etc/mysql-cluster
#vi /etc/mysql-cluster/config.ini
内容如下:
[ndbd default]
NoOfReplicas=2
DataMemory=80M
IndexMemory=18M
#TCP/IP options:
[tcp default]
portnumber=2202

#Management process options:
[ndb_mgmd]
id=1
hostname=192.168.1.171
datadir=/var/lib/mysql-cluster

#Set SQL node
[mysqld]
id=2
hostname=192.168.1.172
[mysqld]
id=3
hostname=192.168.1.173

#Options for data node
[ndbd]
id=4
hostname=192.168.1.174
datadir=/var/lib/mysql
[ndbd]
id=5
hostname=192.168.1.175
datadir=/var/lib/mysql

创建目录
#mkdir /var/lib/mysql-cluster

3-4.启动管理节点
#ndb_mgmd -f /etc/mysql-cluster/config.ini
启动成功后的提示:
MySQL Cluster Management Servermysql-5.1.56 ndb-7.1.34
查看启动后的端口号
#netstat -ntlp

3-5 .配置NDB节点
#vi /etc/my.cnf
在文件的末尾加入下面两行:
[mysql_cluster]
nbd-connectstring=192.168.1.171 #管理节点的ip

创建目录
#mkdir /var/lib/mysql #如已存在,则放弃

3-6. 启动NDB节点
第一次启动需要加参数 -initial,注意,仅应在首次启动ndbd时,或在备份/恢复数据或配置文件发生变化后重启ndbd时使用“–initial”参数
。因为该参数会使节点删除由早期ndbd实例创建的、用于恢复的任何文件,包括用于恢复的日志文件。
#ndbd --initial

3-7.配置sql节点
#vi /etc/my.cnf
内容如下:
[mysqld]
port=3306
socket=/var/lib/mysql/mysql.sock
ndbcluster
default-storage-engine=NDBCLUSTER

skip-name-resolve
#忽略主机名的方式访问
lower_case_table_names=1
#忽略数据库表名大小写

[mysql_cluster]
ndb-connectstring=192.168.1.171
3-8. 启动sql节点
/usr/bin/mysqld_safe --defaults-file=/etc/my.cnf &
3-9.在管理节点中查看mysql Cluster的状态
#ndb_mgm
Ndb_mgm>show

3-10 . 注意各节点的启动顺序
注意启动顺序:(不能乱)
启动管理节点
启动ndb节点
启动sql节点
3-11 . 配置各个节点的自动启动
vi /etc/rc.c/rc.local 早最后面加入如下代码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值