
当然这个最小集群是有单点风险的,比如sql节点和管理节点在同一台机器,这台机器出问题整个集群都不可用。
而用5台服务器的话,可以组成一个没有单点风险的最小mysql集群。架构是这样的:
两台用作data节点,两台用作sql节点,现在用了4台服务器,还剩余一个没有用。然后在其中一个sql节点上和剩余的这台服务器上都装上管理节点,并且在这两台机器上对管理节点使用HA或其它高可用软件实现故障自动切换,这样,data节点、sql节点、管理节点,就都有了冗余,消除了单点故障的风险。做过mysql cluster NDB 72集群
mysql cluster 713 安装笔记
今天初步安装了一下mysql cluster,基本上都是按照官方文档做的,欢迎大家拍砖。
1,服务器使用情况
Management (MGMD) node 192168010
MySQL server (SQL) node 192168020
Data (NDBD) node "A" 192168030
Data (NDBD) node "B" 192168040
2,安装Management、Sql node、 Data node 重复以下步骤:
[root@>一个最简单的MySQL集群通常是一主一从的架构(Master-Slave)
MySQL自带有主从同步的功能
主要步骤如下:
在主库上创建一个同步账号
GRANT SELECT,REPLICATION SLAVE ON TO user@'%' IDENTIFIED BY'123456'
在从库上设置主库
change master to master_host='主库IP',master_port=主库端口,master_user='user',master_password='123456',master_auto_position=1;(mysql56以上)
change master to master_host='主库IP',master_port=主库端口,master_user='user',master_password='123456',MASTER_LOG_FILE='mysql-bin000001', MASTER_LOG_POS=0,
在从库上启动同步线程
start slave;
复杂的集群通常通过第三方软件,比如刚刚GA的MySQL官方高可用MGRMySQL集群是一个无共享的(shared-nothing)、分布式节点架构的存储方案,其目的是提供容错性和高性能。
数据更新使用读已提交隔离级别(read-committedisolation)来保证所有节点数据的一致性,使用两阶段提交机制(two-phasedcommit)保证所有节点都有相同的数据(如果任何一个写 *** 作失败,则更新失败)。
无共享的对等节点使得某台服务器上的更新 *** 作在其他服务器上立即可见。传播更新使用一种复杂的通信机制,这一机制专用来提供跨网络的高吞吐量。
通过多个MySQL服务器分配负载,从而最大程序地达到高性能,通过在不同位置存储数据保证高可用性和冗余。
1Mysql cluster: share-nothing,分布式节点架构的存储方案,以便于提供容错性和高性能。
需要用到mysql cluster安装包,在集群中的每一个机器上安装。
有三个关键概念:Sql节点(多个),数据节点(多个),管理节点(一个),数据节点之间采用的是同步复制来保证各节点之间的数据一致性。
同步复制:
a) Master执行提交语句时,事务被发送到slave,slave开始准备事务的提交。
b) 每个slave都要准备事务,然后向master发送OK(或ABORT)消息,表明事务已经准备好(或者无法准备该事务)。
c) Master等待所有Slave发送OK或ABORT消息,如果Master收到所有 Slave的OK消息,它就会向所有Slave发送提交消息,告诉Slave提交该事务;如果 Master收到来自任何一个Slave的ABORT消息,它就向所有 Slave发送ABORT消息,告诉Slave去中止事务。
e) 每个Slave等待来自Master的OK或ABORT消息。如果Slave收到提交请求,它们就会提交事务,并向Master发送事务已提交 的确认;如果Slave收到取消请求,它们就会撤销所有改变并释放所占有的资源,从而中止事务,然后向Masterv送事务已中止的确认。
f) Master收到来自所有Slave的确认后,就会报告该事务被提交(或中止),然后继续进行下一个事务处理。
由于同步复制一共需要4次消息传递,故mysql cluster的数据更新速度比单机mysql要慢。所以mysql cluster要求运行在千兆以上的局域网内,节点可以采用双网卡,节点组之间采用直连方式。
2主从(Master-Slave): 主从机器上安装mysql community(普通版)就可以。
主从之间是通过mysql的replication来保证数据的一致性。相对mysql cluster的数据同步方式来讲是异步的。
Replication:主节点要开启binlog,设置一个唯一的服务器id(局域网内唯一);从节点设置服务器id,binlog记录了master上的所有 *** 作,会被复制到从节点的relaylog并在从节点上回放。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)