原文地址:http://www.it165.net/database/html/201403/5678.html

http://www.cnblogs.com/seesea125/archive/2012/03/28/2421277.html

mysql集群

集群/群集:用一组服务器提供相同的服务

LB集群:负载均衡集群(多台服务器共同工作)

HA集群:高可靠集群(一个做备用)

一、mysql集群架构中的主机的角色:

类型

服务进程

主要用途

管理节点

ndb_mgmd

提供集群配置,启动或停止节点,

执行备份、群集监控等任务

管理节点必须第一个启动

数据节点

ndbd (单线程)

ndb_mtd (多线程)

存储实际的表记录,可以有多个副本

推荐至少2个数据节点

SQL节点

mysqld

可理解为支持NDB的标准MySQL服务器,

仅存储表结构、独立的用户授权

面向客户端提供用户鉴权、SQL查询等

访问服务

二、安装

不需要安装mysql-server软件了,所以可以关掉mysql服务

在集群中的所有主机上安装mysql-cluster集群软件

mysql-cluster软件提供3种进程:

1,mysqld进程:供用户访问和执行sql语句

2,数据进程ndbd:存储数据

3,管理进程mgmd:管理集群中的所有的主机

三、具体思路:

1,配置管理节点:server1

ip地址:192.168.1.1

mkdir/var/log/my-cluster

vim/etc/my-cluster.ini (该文件不存在,需要创建)

[ndbd default] //设置数据节点的默认参数

NoOfReplicas=2 //保留2份数据拷贝

DataMemory=80M //数据缓存大小

IndexMemory=18M //索引缓存大小

[ndb_mgmd] //设置管理节点

nodeid=1 //管理节点的标识

hostname=192.168.1.1 //管理节点的IP地址

datadir=/var/log/my-cluster //工作目录

[mysqld] //设置SQL节点server1

nodeid=2 //ID标识

hostname=192.168.1.20 //此节点的IP地址

[mysqld] //设置SQL节点server2

nodeid=3

hostname=192.168.1.30

[ndbd] //设置数据节点server4

nodeid=4 //ID标识

hostname=192.168.1.40 //此节点的IP地址

datadir=/var/log/mysql-cluster //工作目录

[ndbd] //设置数据节点server5

nodeid=5

hostname=192.168.1.50

datadir=/var/log/mysql-cluster

2,配置sql节点(server2,server3)

编辑sql节点的配置文件/etc/my.cnf(本身不存在,需要创建)

vim /etc/my.cnf

[mysqld]

ndbcluster //使用ndb集群引擎

default-storage-engine=ndbcluster //设置默认引擎

[mysql_cluster]

ndb-connectstring=192.168.1.1 //指定管理节点ip地址

server3上配置和server2相同

3,配置数据节点(server4,server5)

首先创建server1上配置文件指定的文件夹:

mkdir/var/log/mysql-cluster

然后给数据节点编辑配置文件(/etc/my.cnf 本身不存在,需要创建)

vim /etc/my.cnf

[mysqld]

datadir=/var/log/mysql-cluster //工作目录,在管理节点上配置文件指定的那个目录

ndb-connectstring=192.168.1.1 //管理本台主机的ip地址

ndbcluster //使用ndb集群存储引擎为ndbcluster

[mysql_cluster] //指定管理集群的主机

ndb-connectstring=192.168.1.1 //指定管理集群的ip地址

注:server4和server5上的配置一样

4,初始化授权库

5,启动所有server的服务

第一个:先启动管理主机上的管理进程

在server1上:

ndb_mgmd -f /etc/my-cluster.ini //启动管理进程的时候加载配置文件my-cluster.ini

ndb_mgm //登录

show //查看急群众所有主机的状态

关闭该进程使用:pkill-9 ndbd_mgmd

第二个:启动数据节点主机上的ndbd进程(server4、server5)

在server4和server5上:

ndbd //开启ndbd进程

如果想要关闭,使用kill杀死进程号或pkill杀死ndbd进程

第三个:启动sql节点(server2,server3)

启动mysql服务

service mysql start

MySQL集群配置示例:

环境:

server1:192.168.1.1

server2:192.168.1.20

server3:192.168.1.30

server4:192.168.1.40

server5:192.168.1.50

第一步:server1配置:

[root@server1 ~]# mkdir /var/log/my-cluster

[root@server1 ~]# cat /etc/my-cluster.ini

[ndbd default]

NoOfReplicas=2

DataMemory=80M

IndexMemory=18M

[ndb_mgmd]

nodeid=1

hostname=192.168.1.1

datadir=/var/log/my-cluster

[mysqld]

nodeid=2

hostname=192.168.1.20

[mysqld]

nodeid=3

hostname=192.168.1.30

[ndbd]

nodeid=4

hostname=192.168.1.40

datadir=/var/log/mysql-cluster

[ndbd]

nodeid=5

hostname=192.168.1.50

datadir=/var/log/mysql-cluster

[root@server1 ~]#

注:ip地址为192.168.1.1

第二步:server2和server3的配置:

[root@server2 ~]# ifconfig | grep addr

eth1 Link encap:Ethernet HWaddr 00:0C:29:22:B2:31

inet addr:192.168.1.20 Bcast:192.168.1.255 Mask:255.255.255.0

inet6 addr: fe80::20c:29ff:fe22:b231/64 Scope:Link

inet addr:127.0.0.1 Mask:255.0.0.0

inet6 addr: ::1/128 Scope:Host

[root@server2 ~]# vim /etc/my.cnf

[root@server2 ~]# cat /etc/my.cnf

[mysqld]

ndbcluster

default-storage-engine=ndbcluster

[mysql_cluster]

ndb-connectstring=192.168.1.1

[root@server2 ~]#

注:server3和server2配置相同,ip地址为192.168.1.30

第三步:server4和server5上的配置:

[root@server4 ~]# ifconfig | head -2

eth1 Link encap:Ethernet HWaddr 00:0C:29:B6:6A:99

inet addr:192.168.1.40 Bcast:192.168.1.255 Mask:255.255.255.0

[root@server4 ~]# vim /etc/my.cnf

[root@server4 ~]# cat /etc/my.cnf

[mysqld]

datadir=/var/log/mysql-cluster

ndb-connectstring=192.168.1.1

ndbcluster

[mysql_cluster]

ndb-connectstring=192.168.1.1

[root@server4 ~]#

第四步:

首先启动管理主机server1

[root@server1 Desktop]# ndb_mgmd -f /etc/my-cluster.ini

MySQL Cluster Management Server mysql-5.6.14 ndb-7.3.3

[root@server1 Desktop]# ndb_mgm

-- NDB Cluster -- Management Client --

ndb_mgm> show

Connected to Management Server at: localhost:1186

Cluster Configuration

---------------------

[ndbd(NDB)] 2 node(s)

id=4 (not connected, accepting connect from 192.168.1.40)

id=5 (not connected, accepting connect from 192.168.1.50)

[ndb_mgmd(MGM)] 1 node(s)

id=1 @192.168.1.1 (mysql-5.6.14 ndb-7.3.3)

[mysqld(API)] 2 node(s)

id=2 (not connected, accepting connect from 192.168.1.20)

id=3 (not connected, accepting connect from 192.168.1.30)

ndb_mgm>

然后再server4和server5上启动ndbd进程

server4:

[root@server4 Desktop]# ndbd

2014-03-21 18:35:42 [ndbd] INFO -- Angel connected to '192.168.1.1:1186'

2014-03-21 18:35:42 [ndbd] INFO -- Angel allocated nodeid: 4

[root@server4 Desktop]#

server5:

[root@server5 Desktop]# ndbd

2014-03-21 19:57:10 [ndbd] INFO -- Angel connected to '192.168.1.1:1186'

2014-03-21 19:57:10 [ndbd] INFO -- Angel allocated nodeid: 5

[root@server5 Desktop]#

最后在server2和server3上开启mysql服务:

[root@server2 ~]# service mysql restart

Shutting down MySQL.... [ OK ]

Starting MySQL..... [ OK ]

[root@server2 ~]#

[root@server3 Desktop]# service mysql restart

Shutting down MySQL..... [ OK ]

Starting MySQL.... [ OK ]

[root@server3 Desktop]#

验证:在server1上通过show命令查看是否连接成功

ndb_mgm> show

Cluster Configuration

---------------------

[ndbd(NDB)] 2 node(s)

id=4 @192.168.1.40 (mysql-5.6.14 ndb-7.3.3, Nodegroup: 0, *)

id=5 @192.168.1.50 (mysql-5.6.14 ndb-7.3.3, Nodegroup: 0)

[ndb_mgmd(MGM)] 1 node(s)

id=1 @192.168.1.1 (mysql-5.6.14 ndb-7.3.3)

[mysqld(API)] 2 node(s)

id=2 @192.168.1.20 (mysql-5.6.14 ndb-7.3.3)

id=3 @192.168.1.30 (mysql-5.6.14 ndb-7.3.3)

ndb_mgm>

mysql集群实例的更多相关文章

  1. Mysql集群搭建(多实例、主从)

    1 MySQL多实例 一 .MySQL多实例介绍 1.什么是MySQL多实例 MySQL多实例就是在一台机器上开启多个不同的服务端口(如:3306,3307,3308),运行多个MySQL服务进程,通 ...

  2. 京东分布式MySQL集群方案介绍

    背景 数据库作为一个非常基础的系统,任何一家互联网公司都会使用,数据库产品也很多,有Oracle.SQL Server .MySQL.PostgeSQL.MariaDB等,像SQLServer/Ora ...

  3. MySQL Cluster(MySQL 集群) 初试(转)

    作/译者:叶金荣(imysql#imysql.com>),来源:http://imysql.com,欢迎转载. 作/译者:叶金荣(Email: ),来源:http://imysql.cn,转载请 ...

  4. MYSQL集群的搭建

    按照此配置完全可以配置成功!! 一.介绍========测试环境:Server1:ndbd 192.168.1.225Server2:ndbd 192.168.1.226Server3:mysqld ...

  5. 分布式MySQL集群方案的探索与思考

    转载:http://www.infoq.com/cn/articles/exploration-of-distributed-mysql-cluster-scheme?utm_campaign=rig ...

  6. MySQL集群(三)mysql-proxy搭建负载均衡与读写分离

    前言 前面学习了主从复制和主主复制,接下来给大家分享一下怎么去使用mysql-proxy这个插件去配置MySQL集群中的负载均衡以及读写分离. 注意:这里比较坑的就是mysql-proxy一直没有更新 ...

  7. 「mysql优化专题」高可用性、负载均衡的mysql集群解决方案(12)

    一.为什么需要mysql集群? 一个庞大的分布式系统的性能瓶颈中,最脆弱的就是连接.连接有两个,一个是客户端与后端的连接,另一个是后端与数据库的连接.简单如图下两个蓝色框框(其实,这张图是我在悟空问答 ...

  8. MySQL集群PXC的搭建

    MySQL集群PXC的搭建 最近公司某客户要求我们的数据库搭建PXC集群以保证他们的系统高性能和搞稳定性 以后花费了一些时间去搭建和测试,也踩过一些坑,准备分享出来 系统:centos6.6PXC:5 ...

  9. 关于MySQL集群的一些看法

    作者:Gary Chen链接:https://zhuanlan.zhihu.com/p/20204156来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 市面上的招聘往往 ...

随机推荐

  1. 去他的效应(what-the-hell effect)与自我放纵

    去他的 效应(what-the-hell effect)与自我放纵 为什么写这篇文章: 对于我来说,但我感到疲惫——"无意拿起"手机,对自己说"随便看看"——但 ...

  2. dos常用命令

    进入终端 首先具备一个控制台(命令行提示符窗口)用于输入dos命令: 打开一个控制台的方式: 方式一:开始-------> 所有程序--------->附件----------->命 ...

  3. 集成架构:对比 Web API 与面向服务的架构和企业应用程序集成(转)

    http://kb.cnblogs.com/page/521644/ 摘要:总体上讲,SOA 和 Web API 似乎解决的是同一个问题:以实时的.可重用的方式公开业务功能.本教程将分析这些举措有何不 ...

  4. [CareerCup] 2.3 Delete Node in a Linked List 删除链表的节点

    2.3 Implement an algorithm to delete a node in the middle of a singly linked list, given only access ...

  5. Openwrt 无法上40MHZ带宽

    最近有一个纠结的事情是双天线路由没法上40MHZ带宽,怎么改都不成功,其中 在无线高级设置里面打开了40MHZ带宽: 后来在客户端连上之后,在无线的页面一直显示都是20M的带宽.于是我想是不是驱动或者 ...

  6. 开园子啦(浅谈移动端以及h5的发展)

    一.前言 一直以来都梦想着写几篇博客,忙于工作一直也没有抽出时间来写一下.看看大熊君.小v君等都在努力写博客,我这个不太善于言表的少年,也是在忍不住了.否则会被人家拉下更远.先简单介绍一下自己,目前我 ...

  7. Android杂谈--Activity、Window、View的关系

    转自 http://www.cnblogs.com/loulijun/archive/2012/02/09/2344681.html Activity其实更像一个控制单元,控制window上显示的Vi ...

  8. 制衡技术,从Adblock所想到的

    这是一个很特别的东西.可能已经有人发现了它,但是它并非被广泛接受. 对于这个技术的思考来源主要是在安装了Adblock后想到的.这种反作用力的技术,很可能是一片蓝海.而这种技术的产生及推广,对未来社会 ...

  9. 服务器网站报错:由于扩展配置问题无法提供您请求的页面,请添加MIME映射,针对mp4,flv文件类型无法打开。

    确保IIS正常 服务器增加mp4格式的MIME 类型映射设置的具体步骤是: “开始” > “控制面板” > “管理工具” >“Internet 信息服务(IIS管理器)”,“MIME ...

  10. Nodejs学习笔记(五)--- Express安装入门与模版引擎ejs

    目录 前言 Express简介和安装 运行第一个基于express框架的Web 模版引擎 ejs express项目结构 express项目分析 app.set(name,value) app.use ...