mysql cluster (mysql 集群)安装配置方案(转)
一、准备
1、准备服务器
计划建立有5个节点的MySQL CLuster体系,需要用到5台服务器,但是我们做实验时没有这么多机器,可以只用2台,我就是一台本机,一台虚拟机搭建了有5个节点的MySQL CLuster体系,将一个SQL节点一个数据节点一个SQL节点放在了一台服务器上(192.168.1.252),将另一个SQL节点和一个数据节点放在了另外一台服务器上(192.168.1.52)。
节点 | 对应的IP和端口 |
管理节点(1个) | 192.168.1.252 |
SQL节点 (2个) | 192.168.1.252:3331 |
192.168.1.52:3331 | |
数据节点 (2个) | 192.168.1.252 |
192.168.1.52 |
2、准备软件包
现在的mysql提供了一个专门作集群的安装包,这样就不用一个个的下载所需要的工具了。我在网上找到了最新的而且下载比较快的资源,第一步先是下载,有200M左右。
cd /var/tmp wget http://mysql.ntu.edu.tw/Downloads/MySQL-Cluster-7.1/ mysql-cluster-gpl-7.1.9a-linux-i686-glibc23.tar.gz
二、安装
1、数据节点和SQL节点
第一步 添加mysql用户和组,这是必需的。
groupadd mysql useradd -g mysql mysql
第二步 开始安装,下载的版本是免编译的,复制过来就可以用了。
cd /var/tmp tar -C /usr/local-zxvf mysql-cluster-gpl-7.1.9a-linux-i686-glibc23.tar.gz cd /usr/local mv mysql-cluster-gpl-7.1.9a-linux-i686-glibc23.tar.gz mysql
第三步 在mysql修改目录权限,这也是必需的,不然第四步会报错的。
cd mysql chown -R root . chown -R mysql data chgrp -R mysql .
第四步 安装初始的数据库表
scripts/mysql_install_db --user=mysql
第五步 设置mysql服务为开机自启动
cp support-files/mysql.server /etc/rc.d/init.d/mysqld chmod +x /etc/rc.d/init.d/mysqld chkconfig --add mysqld
第六步 启动mysql服务,如果报错请参考
service mysqld start
这六步,在252和52服务器上都执行一次,数据节点和SQL节点就算安装好了。
2、管理节点
管理节点的安装更简单,只要在252服务器上复制些文件出来就行了,虽然只有一步,便这一步在目前环境下(管理节点和SQL节点在同一台服务器上)也不是必需的。
cd mysql cp bin/ndb_mgm*/usr/local/bin cd /usr/local/bin chmod +x ndb_mgm*
管理节点只要ndb_mgm和ndb_mgmd两个文件和一个配置文件即可,因此把这三个文件复制到那里,那里就是管理节点了。ndb_mgmd是mysql cluster管理服务器,ndb_mgm是客户端管理工具,等一下会用到它们的。到目前为止两个SQL节点两个数据节点和一个管理节点都安装完成了,但是还不能工作,得进行配置,把这几个节点联系在一起协同工作。
三、配置
1、数据节点和SQL节点
mysql服务启动时会默认加载/etc/my.cnf作为其配置文件,要将一个mysql服务器配置成一个数据节点和SQL节点也非常的简单,这是配置前的my.cnf的内容:
[client] port =3306 socket =/tmp/mysql.sock [mysqld] basedir =/usr/local/mysql/ datadir =/usr/local/mysql/data user = mysql log-error =/var/lib/mysql/mysqld.err
只要在内容结尾加上4行就将这个mysql服务器变成了一个数据节点和SQL节点。
ndbcluster #运行NDB存储引擎 #指定管理节点 以上两行声明其为SQL节点 ndb-connectstring=192.168.1.252 [mysql_cluster] #指定管理节点 以上两行声明其为数据节点 ndb-connectstring=192.168.1.252
注意两台服务器都得这样配置。
2、管理节点
管理节点的配置复杂一点,在管理服务器252的/var/lib/mysql-cluster/目录中创建config.ini文件。
cd /var/lib mkdir mysql-cluster cd mysql-cluster vim config.ini
在config.ini文件中添加以下内容:
[NDBD DEFAULT] NoOfReplicas=1 #每个数据节点的镜像数量 DataMemory=500M #每个数据节点中给数据分配的内存 IndexMemory=300M #每个数据节点中给索引分配的内存 [TCP DEFAULT] portnumber=2202 #数据节点的默认连接端口 [NDB_MGMD] #配置管理节点 hostname=192.168.1.252 datadir=/var/lib/mysql-cluster/ #管理节点数据(日志)目录 [NDBD] #数据节点配置 hostname=192.168.1.252 datadir=/usr/local/mysql/data/ #数据节点目录 [NDBD] hostname=192.168.1.52 datadir=/usr/local/mysql/data/ [MYSQLD] #SQL节点目录 hostname=192.168.1.252 [MYSQLD] hostname=192.168.1.52
[NDBD DEFAULT]:表示每个数据节点的默认配置在每个节点的[NDBD]中不用再写这些选项,只能有一个。
[NDB_MGMD]:表示管理节点的配置,只有一个。
[NDBD]:表示每个数据节点的配置,可以有多个。
[MYSQLD]:表示SQL节点的配置,可以有多个,分别写上不同SQL节点的IP地址,也可以什么都不写,只保留一个空节点,表示任意一个IP地址都可以进行访问,此节点的个数表明了可以用来连接数据节点的SQL节点总数。
四、启动
1、管理节点
mysql cluster 需要各个节点都 进行启动后才可以工作,节点的启动顺序为管理节点->数据节点->SQL节点。首先启动管理节点
cd /usr/local/bin ./ndb_mgmd -f /var/lib/mysql-cluster/config.ini
命令行中的ndb_mgmd是mysql cluster的管理服务器,后面的-f表示后面的参数是启动的参数配置文件。如果在启动后过了几天又添加了一个数据节点,这时修改了配置文件启动时就必须加上--initial参数,不然添加的节点不会作用在mysql cluster中。
./ndb_mgmd -f /var/lib/mysql-cluster/config.ini --initial
启动时可能会报个WARNING,如WARNING -- at line 7: [TCP] portnumber is deprecated,这个不用管。可以正常工作的。
2、数据节点
安装后第一次启动数据节点时要加上--initial参数,其它时候不要加,除非是在备份、恢复或配置变化后重启时。
cd mysql/bin/ndbd --initial
如果显示以下信息说明启动完成:
2010-12-31 12:48:03 [ndbd] INFO -- Angel connected to '192.168.1.252:1186'
2010-12-31 12:48:03 [ndbd] INFO -- Angel allocated nodeid: 3
3、SQL节点
service mysqld start
4、客户端管理
cd /usr/local/bin ./ndb_mgm
这时就进入到客户端,可以对mysql cluster进行各项操作,进入后会有ndb_mgm > 提示符出现,首先来查看各节点的连接情况,在ndb_mgm> 提示符下输入show:
ndb_mgm> show ClusterConfiguration --------------------- [ndbd(NDB)] 2 node(s) id=2 @192.168.1.252 (mysql-5.1.51 ndb-7.1.9,Nodegroup:0,Master) id=3 @192.168.1.52 (mysql-5.1.51 ndb-7.1.9,Nodegroup:1) [ndb_mgmd(MGM)]1 node(s) id=1 @192.168.1.252 (mysql-5.1.51 ndb-7.1.9) [mysqld(API)] 2 node(s) id=4 @192.168.1.252 (mysql-5.1.51 ndb-7.1.9) id=5 @192.168.1.52 (mysql-5.1.51 ndb-7.1.9)
可以看到各个节点已经连接上了,至此,mysql cluster配置完成。
五、关闭
mysql cluster的关闭也很简单,只需在ndb_mgm> 提示符下输入 shutdown即可,这时会显示各节点的关闭信息,再输入exit即可退出ndb_mgm管理,回到shell中。虽然mysql cluster 关闭了,但是SQL节点的mysql服务并不会停止的。接下来就可以做各种试验了。
mysql cluster (mysql 集群)安装配置方案(转)的更多相关文章
- redis cluster 集群 安装 配置 详解
redis cluster 集群 安装 配置 详解 张映 发表于 2015-05-01 分类目录: nosql 标签:cluster, redis, 安装, 配置, 集群 Redis 集群是一个提供在 ...
- RabbitMQ集群安装配置+HAproxy+Keepalived高可用
RabbitMQ集群安装配置+HAproxy+Keepalived高可用 转自:https://www.linuxidc.com/Linux/2016-10/136492.htm rabbitmq 集 ...
- hive集群安装配置
hive 是JAVA写的的一个数据仓库,依赖hadoop.没有安装hadoop的,请参考http://blog.csdn.net/lovemelovemycode/article/details/91 ...
- hbase单机环境的搭建和完全分布式Hbase集群安装配置
HBase 是一个开源的非关系(NoSQL)的可伸缩性分布式数据库.它是面向列的,并适合于存储超大型松散数据.HBase适合于实时,随机对Big数据进行读写操作的业务环境. @hbase单机环境的搭建 ...
- hbase和ZooKeeper集群安装配置
一:ZooKeeper集群安装配置 1:解压zookeeper-3.3.2.tar.gz并重命名为zookeeper. 2:进入~/zookeeper/conf目录: 拷贝zoo_sample.cfg ...
- 集群 安装 配置FastDFS
FastDFS 集群 安装 配置 这篇文章介绍如何搭建FastDFS 集群 FastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存储.文件同步.文件访问(文件上传.文件下载 ...
- Hadoop2.2集群安装配置-Spark集群安装部署
配置安装Hadoop2.2.0 部署spark 1.0的流程 一.环境描写叙述 本实验在一台Windows7-64下安装Vmware.在Vmware里安装两虚拟机分别例如以下 主机名spark1(19 ...
- CentOS下Hadoop-2.2.0集群安装配置
对于一个刚开始学习Spark的人来说,当然首先需要把环境搭建好,再跑几个例子,目前比较流行的部署是Spark On Yarn,作为新手,我觉得有必要走一遍Hadoop的集群安装配置,而不仅仅停留在本地 ...
- 集群安装配置Hadoop具体图解
集群安装配置Hadoop 集群节点:node4.node5.node6.node7.node8. 详细架构: node4 Namenode,secondnamenode,jobtracker node ...
随机推荐
- PHP基础20:创建文件
<?php /* 1.PHP 创建文件 - fopen() fopen() 函数也用于创建文件.也许有点混乱,但是在 PHP 中,创建文件所用的函数与打开文件的相同 如果您用 fopen() 打 ...
- CSS 实现加载动画之八-圆点旋转
这篇文件介绍的动画是QQ邮箱APP里的加载动画,效果类似,但是不完全一样.实现过程不复杂,这里不详细解释了,直接上源码.另外还有一种实现方式,利用元素的3D转换加平移. 1. 先看截图 2. 源代码 ...
- Android 主题和选择器
今天在做底部tab的时候因为样式都一样 所以就自定义一个style 这样省的写很多重复的样式(懒懒懒懒), 修改的话直接在样式里修改省去一个一个修改一样的代码 1 在values/styles.xml ...
- 亚博 Arduino智能小车实验报告
亚博 Arduino智能小车实践报告 一. 程序安装准备 首先安装了Arduino板载USB转串口CH340驱动安装包, 若上述程序安装成功,则可以在我的电脑中找到相应的端口 本机端口号为CO ...
- 玩转数据库之 Group by Grouping
有的时候我们要从数据库里把数据组织成树结构再展现到页面上 像下面这样 今天我们用Group 和Grouping实现它,并总结一下它俩. 先看一下概念,再用代码一点一点去理解它们,最后我会给出完整的代码 ...
- HoloLens开发手记 - Unity之场景共享 Shared holographic experiences in Unity
佩戴HoloLens的多个用户可以使用场景共享特性来获取集合视野,并可以与固定在空间中某个位置的同一全息对象进行交互操作.这一切是通过空间锚共享(Anchor Sharing)来实现的. 为了使用共享 ...
- Django1.8教程——从零开始搭建一个完整django博客(三)
这一节主要介绍对数据库的访问操作:通过管理器(manage),对对象进行检索.修改.删除等操作,详细介绍了如何针对不同的模型自定义管理器. 查询和管理工作 现在,我们已经有了一个功能完善的Django ...
- [wikioi 1034][CTSC 1999]家园(网络流)
由于人类对自然的疯狂破坏,人们意识到在大约2300年之后,地球不能再居住了,于是在月球上建立了新的绿地,以便在需要时移民.令人意想不到的是,2177年冬由于未知的原因,地球环境发生了连锁崩溃,人类必须 ...
- Linq之延迟加载特性
目录 写在前面 系列文章 延迟加载 总结 写在前面 上篇文章介绍了linq中常见的几个关键字,并列举了几个例子,算是对linq如何使用有了初步了解.上篇文章中也提到了,能够使用linq的场合有一个要求 ...
- Javascript基础系列之(四)数据类型 (数组 array)
字符串,数值,布尔值都属于离散值(scalar),如果某个变量是离散的,那么任何时候它只有一个值. 如果想使用变量存储一组值,就需要使用数组(array). 数组是由多个名称相同的树值构成的集合,集合 ...