项目进阶 之 集群环境搭建(三)多管理节点MySQL集群
上次的博文项目进阶 之 集群环境搭建(二)MySQL集群中,我们搭建了一个基础的MySQL集群,这篇博客咱们继续讲解MySQL集群的相关内容,同时针对上一篇遗留的问题提出一个解决方案。
1、单管理节点MySQL集群和多管理节点MySQL集群
上一篇的博客中,我们搭建的MySQL集群架构中,只存在一个管理节点,这样搭建的集群可以用如下所示的结构表示。
仔细分析上图就会发现,上图所示的单管理节点MySQL集群存在当唯一的管理节点由于网络、断电、压力过大等各种原因宕机后,数据节点和SQL节点将会各自为战,成为一盘散沙。这样搭建的MySQL集群可用性较低,所以我们要将单管理节点集群改变成如下图所示的多管理节点集群。
在上图的多管理节点MySQL集群中,由于管理节点存在多个,所以当其中的某一个管理节点出现宕机之后,其他的管理节点自动接过MySQL集群的管理权限,保证MySQL集群的正常运行。
2、多管理节点MySQL集群配置
多管理节点MySQL的配置非常简单,仅需要修改之前的博文中提高的三种节点的三个地方。
1)修改管理节点配置
打开管理节点C:\mysql\bin下的config.ini文件,将其中ndb_mgmd的相关配置修改为如下内容:
[ndb_mgmd]
# Management process options:
# Hostname or IP address of management node
HostName=192.168.24.16
# Directory for management node log files
DataDir=C:/mysql/bin/cluster-logs [ndb_mgmd]
# Management process options:
# Hostname or IP address of management node
HostName=192.168.24.43
# Directory for management node log files
DataDir=C:/mysql/bin/cluster-logs
即修改之后的config.ini存在多个ndb_mgmd管理节点的相关配置。
2)修改数据节点配置
打开数据节点C:\mysqlcluster\datanode\mysql下的my.ini文件,将其中mysql_cluster的相关配置修改为如下内容:
[mysql_cluster]
# Optionsfor data node process:
#location of management server
ndb-connectstring=192.168.24.16,192.168.24.43
即修改之后的mysql_cluster节点下的ndb-connectstring对应多个管理节点的IP地址。(如果管理节点修改了服务端口号,则需要添加相应的端口号,例如:192.168.24.16:3306,192.168.24.43:3306)
3)修改SQL节点配置
与修改数据节点类似,修改SQL节点配置需要打开C:\mysqlcluster\sqlnode\mysql下的my.ini文件,将其中mysqld的相关配置修改为如下内容:
[mysqld]
# Options for mysqld process:
# run NDB storage engine
ndbcluster
# location of management server
ndb-connectstring=192.168.24.16,192.168.24.43
即修改之后的mysqld节点下的ndb-connectstring对应多个管理节点的IP地址。
3、多管理节点MySQL集群配置启动和测试
多管理节点MySQL集群的启动和测试与单管理节点MySQL集群的启动和测试没有区别,可以参考上一篇文章中的相关介绍。需要注意的是在启动MySQL集群的时候,除第一个启动的管理节点以外,其他管理节点会出现如下图所示的警告:
以上警告的意思是节点1和3,2和4的arbitrator在一台主机上,可能引起整个集群失败,这个警告可以不用放在心上继续操作即可。
到目前为止,咱们的多管理节点的MySQL集群就搭建完毕了,这样的集群的在正常情况下可以满足一般需求,但并不是说它就真的无懈可击,它从架构和实用度来讲还可以进行更多的优化和完善,具体都有哪些可以优化和完善的地方呢?敬请期待接下来的文章!
项目进阶 之 集群环境搭建(三)多管理节点MySQL集群的更多相关文章
- [原]项目进阶 之 持续构建环境搭建(三)Maven环境搭建
上次的博文项目进阶 之 持续构建环境搭建(二)Nexus私服器中,我们搭建了一个Nexus的maven私服,这次我们来重点讲解一下Maven的安装和配置.这里说明一下这次的环境搭建,比较基础,但却非常 ...
- [原]项目进阶 之 持续构建环境搭建(二)Nexus私服器
上一篇博文项目进阶 之 持续构建环境搭建(一)架构中,我们大致讲解了一下本系列所搭建环境的基本框架,这次开始我们进入真正的环境搭建实战.重点不在于搭建的环境是否成功和完善,而是在搭建过程中充分认识到每 ...
- [置顶] 项目进阶 之 持续构建环境搭建(二)Nexus私服器
上一篇博文项目进阶 之 持续构建环境搭建(一)架构中,我们大致讲解了一下本系列所搭建环境的基本框架,这次开始我们进入真正的环境搭建实战.重点不在于搭建的环境是否成功和完善,而是在搭建过程中充分认识到每 ...
- [原]项目进阶 之 持续构建环境搭建(四)Jenkins环境搭建
在之前的几篇文章中,我给大家分别介绍了这次的持续化构建环境搭建的相关前提内容.如果说前面的文章都是小菜的话,那么今天的这篇文章就是我们这个系列文章的主菜. 1.前提 安装jenkins需要安装JDK. ...
- HBase —— 集群环境搭建
一.集群规划 这里搭建一个3节点的HBase集群,其中三台主机上均为Regin Server.同时为了保证高可用,除了在hadoop001上部署主Master服务外,还在hadoop002上部署备用的 ...
- Storm —— 集群环境搭建
一.集群规划 这里搭建一个3节点的Storm集群:三台主机上均部署Supervisor和LogViewer服务.同时为了保证高可用,除了在hadoop001上部署主Nimbus服务外,还在hadoop ...
- Storm 学习之路(四)—— Storm集群环境搭建
一.集群规划 这里搭建一个3节点的Storm集群:三台主机上均部署Supervisor和LogViewer服务.同时为了保证高可用,除了在hadoop001上部署主Nimbus服务外,还在hadoop ...
- Storm 系列(四)—— Storm 集群环境搭建
一.集群规划 这里搭建一个 3 节点的 Storm 集群:三台主机上均部署 Supervisor 和 LogViewer 服务.同时为了保证高可用,除了在 hadoop001 上部署主 Nimbus ...
- GJM : 用JIRA管理你的项目(一)JIRA环境搭建 [转载]
感谢您的阅读.喜欢的.有用的就请大哥大嫂们高抬贵手"推荐一下"吧!你的精神支持是博主强大的写作动力以及转载收藏动力.欢迎转载! 版权声明:本文原创发表于 [请点击连接前往] ,未经 ...
随机推荐
- ASP.NET MVC学习1
ViewBag是一个dynamic(动态类型)类型集合,可以动态添加任何类型的任意名称的属性和值,ViewBag是Controller和view之间传递数据的,如以下: ViewBag.HtmlStr ...
- MyBatis学习系列一之环境搭建
目录 MyBatis学习系列一之环境搭建 MyBatis学习系列二——增删改查 MyBatis学习系列三——结合Spring 学习一个新的知识,首先做一个简单的例子使用一下,然后再逐步深入.MyBat ...
- 魔兽塔防游戏android源码
魔兽塔防是一款经典的游戏,当年在pc机器上玩过魔兽的人应该都玩过类似的游戏,他仿照魔兽,建塔拦截敌人入侵,发挥你的智慧让敌人走最远的路,将他们消灭在路上.... 源码下载:http://code.66 ...
- Android开发教程app下载无法成功创建问题
本文明来给各位同学介绍一下关于cordova cteate app 时下载失败无法成功创建的解决方法,有碰到此问题的同学可进入参考. 使用如下语句创建一个cordova应用: 代码如下 cordova ...
- Linux下tftp安装与配置
1. 背景 开发板在u-boot下从pc获取文件的方式有三种: 1)dnw传输:http://www.cnblogs.com/tanghuimin0713/p/3614768.html 2)串口传输: ...
- CentOS-6.4无线上网命令行配置
参考:http://www.vfeelit.com/504.html 待连接的WIFI的ssid为“thm”,密码为12345678,认证方式为WPA2-PSK 1. 检查无线网卡驱动是否安装 ...
- nginx + php +mysql (适配thinkphp)
Nginx 单机配置 http://tengine.taobao.org/book/index.html (taobao book) http://ubuntuhandbook.org/index.p ...
- Knockout.Js官网学习(click绑定)
前言 click绑定在DOM元素上添加事件句柄以便元素被点击的时候执行定义的JavaScript 函数.大部分是用在button,input和连接a上,但是可以在任意元素上使用. 简单示例 <h ...
- Python在金融,数据分析,和人工智能中的应用
Python在金融,数据分析,和人工智能中的应用 Python最近取得这样的成功,而且未来似乎还会继续下去,这有许多原因.其中包括它的语法.Python开发人员可用的科学生态系统和数据分析库.易于 ...
- php怎么删除文件
php怎么删除文件 删除文件很简单只要使用unlink(文件名)就可以了.