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 ...
随机推荐
- 在matlab中实现遥感影像和shp文件的结合显示
clc;close all;clear; road=shaperead('boston_roads.shp'); %读取shape文件 figure, mapshow('boston.tif'); % ...
- [matlab]改变矩阵的大小并保存到txt文件
要完成的任务是,加载一个保存在txt文件中的矩阵, 并把它扩大10倍,并且要再次保存回去 %加载txt文件 >load('Matrix.txt'); %扩大10倍 repmat(Matrix,r ...
- IOS开发之——友盟社会化分享UMSocial_SDK的使用
友盟第三方官方网址:http://dev.umeng.com/social/ios/quick-integration
- Jenkins进阶系列之——14配置Jenkins用户和权限
今天给大家说说使用Jenkins专有用户数据库的配置,和一些常用的权限配置. 配置用户注册 在已运行的Jenkins主页中,点击左侧的系统管理—>Configure Global Securit ...
- 编写高质量代码--改善python程序的建议(六)
原文发表在我的博客主页,转载请注明出处! 建议二十八:区别对待可变对象和不可变对象 python中一切皆对象,每一个对象都有一个唯一的标识符(id()).类型(type())以及值,对象根据其值能否修 ...
- Scala学习笔记(八):基本类型和操作
基本类型: 整数类型=>数类型 字面量:字面量就是直接写在代码里的常量值 字面量是指由字母.数字等构成的字符串或者数值,它只能作为右值出现,所谓右值是指等号右边的值,如:int a=123这里的 ...
- 『随笔』C# 程序 修改 ConfigurationManager 后,不重启 刷新配置
基本共识: ConfigurationManager 自带缓存,且不支持 写入. 如果 通过 文本写入方式 修改 配置文件,程序 无法刷新加载 最新配置. PS. Web.config 除外:Web. ...
- 『转载』C# winform 中dataGridView的重绘(进度条,虚线,单元格合并等)
原文转载自:http://hi.baidu.com/suming/item/81e45b1ab9b4585f2a3e2243 最近比较浅的研究了一下dataGridView的重绘,发现里面还是有很多东 ...
- Orchard创建自定义表单
本文链接:http://www.cnblogs.com/souther/p/4520130.html 主目录 自定义表单模块可以用来获取网站前台用户的信息.自定义表单需要与一个内容类型结合使用.它可以 ...
- jdbc基础 (五) 连接池与数据源 DBCP以及C3P0的使用
一.连接池的概念和使用 在实际应用开发中,特别是在WEB应用系统中,如果JSP.Servlet或EJB使用JDBC直接访问数据库中的数据,每一次数据访问请求都必须经历建立数据库连接.打开数据库.存取数 ...