双机Mysql-Cluster配置

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介:

服务器安装配置和网络连接
硬件配置:
CPU:intel 5430*2
内存 :8G
(
以下为所有服务器各操作一遍 )
安装:
将所有服务器安装 CentOS 5.2 ,选择下面的包:
Clustering
Storage Clustering
mysql
不需要安装,但 perl-mysql-xxx 的所有包需要安装
开发工具包和类库
sshd
服务
SElinux ==>disable
语言支持包不安装,默认美国英语
设定主机名:
Vi /etc/sysconfig/network
Hostname=xxx
:wq
检查主机名:
Uname -a
必须和上表中的一一对应。否则有问题。
Vi /etc/hosts
Sql3 192.168.1.251
Sql4 192.168.1.252
mysql
集群的安装中安装的是 MySQL-Cluster6.2.15
251
252
[root@sql4 mysql-cluster6.2.15]# rpm -aq | grep MySQL
MySQL-Cluster-gpl-shared-6.2.15-0.rhel5
MySQL-Cluster-gpl-extra-6.2.15-0.rhel5
MySQL-Cluster-gpl-devel-6.2.15-0.rhel5
MySQL-Cluster-gpl-storage-6.2.15-0.rhel5
MySQL-Cluster-gpl-tools-6.2.15-0.rhel5
MySQL-Cluster-gpl-server-6.2.15-0.rhel5
MySQL-Cluster-gpl-management-6.2.15-0.rhel5
MySQL-Cluster-gpl-client-6.2.15-0.rhel5
[root@sql4 mysql-cluster6.2.15]# 
在服务器上安装以上包,在安装的过程中如果缺少包或者库,采用:
yum install xxxx 
自行安装。
建立目录:
#mkdir /var/lib/mysql-cluster -p
[root@ndb1 mysql-cluster]# vi /var/lib/mysql-cluster/config.ini 
#vi /var/lib/mysql-cluster/config.ini
[NDBD DEFAULT]
NoOfReplicas=2
DataMemory=2048M
IndexMemory=1024M
[MYSQLD DEFAULT]
[NDB_MGMD DEFAULT]
DataDir= /var/lib/mysql-cluster
[TCP DEFAULT]
# Section for the cluster management node
[NDB_MGMD]
# IP address of the management node (this system)
ID=1
HostName=192.168.1.251
[NDB_MGMD]
# IP address of the management node (this system)
ID=2
HostName=192.168.1.252
# Section for the storage nodes
[NDBD]
ID=3
# IP address of the first storage node
HostName=192.168.1.251
#DataDir= /var/lib/mysql-cluster
[NDBD]
ID=4
# IP address of the second storage node
HostName=192.168.1.252
#DataDir=/var/lib/mysql-cluster
# one [MYSQLD] per storage node
[MYSQLD]
[MYSQLD]
[MYSQLD]
[MYSQLD]
[MYSQLD]
[MYSQLD]
[MYSQLD]
以下在 mysql API  上操作(这里,我设定了 API ,以后可以随时加入)
239
240
vi /etc/my.cnf
[mysqld]
default-storage-engine=ndbcluster 
log=queryLog
log-slow-queries=showquerylog
#NDBCLUSTER
ndbcluster
ndb-connectstring = 192.168.1.251,192.168.1.252
[ndb_mgm]
connect-string = 192.168.1.251,192.168.1.252
[ndbd]
connect-string = 192.168.1.251,192.168.1.252
[mysql_cluster]
ndb-connectstring= 192.168.1.251,192.168.1.252
[ndb_mgmd]
config-file=/var/lib/mysql-cluster/config.ini
保存退出后,启动管理节点 Server1 为:
# ndb_mgmd –ndb_nodeid=1
启动管理节点 Server2 为:
# ndb_mgmd –ndb_nodeid=2
: 在启动时有一个警告提示
Cluster configuration warning:
arbitrator with id 1 and db node with id 3 on same host 192.168.1.111
arbitrator with id 2 and db node with id 4 on same host 192.168.1.110
Running arbitrator on the same host as a database node may
cause complete cluster shutdown in case of host failure.
说节点 1 3 2 4 arbitrator 一样,可能引起整个集群失败。(可以不用放在心上)
四、初始化集群
Server1
# ndbd –nodeid=3 –initial
Server2
# ndbd –nodeid=4 –iniitial
注:只有在第一次启动 ndbd 时或者对 config.ini 进行改动后才需要使用 –initial 参数!

[root@sql3 ~]# ndb_mgm
-- NDB Cluster -- Management Client --
ndb_mgm> show
Connected to Management Server at: 192.168.1.251:1186
Cluster Configuration
---------------------
[ndbd(NDB)]     2 node(s)
id=3    @192.168.1.251  (mysql-5.1.23 ndb-6.2.15, Nodegroup: 0, Master)
id=4    @192.168.1.252  (mysql-5.1.23 ndb-6.2.15, Nodegroup: 0)
[ndb_mgmd(MGM)] 2 node(s)
id=1    @192.168.1.251  (mysql-5.1.23 ndb-6.2.15)
id=2    @192.168.1.252  (mysql-5.1.23 ndb-6.2.15)
[mysqld(API)]   7 node(s)
id=5    @192.168.1.252  (mysql-5.1.23 ndb-6.2.15)
id=6    @192.168.1.251  (mysql-5.1.23 ndb-6.2.15)
id=7 (not connected, accepting connect from any host)
id=8 (not connected, accepting connect from any host)
id=9 (not connected, accepting connect from any host)
id=10 (not connected, accepting connect from any host)
id=11 (not connected, accepting connect from any host)
ndb_mgm> 
251/252
vi /etc/rc.local
ndb_mgmd -f /var/lib/mysql-cluster/config.ini
OK
,到此 mysql cluster  配置完成。
ok
,可以测试了:
Server1 
# /usr/local/mysql/bin/mysql -u root -p
>create database aa;
> use aa;
> CREATE TABLE ctest (i INT) 

> INSERT INTO ctest () VALUES (1);
> SELECT * FROM ctest;
应该可以看到 1 row returned 信息(返回数值 1 )。
如果上述正常,则换到 Server2 ,观察效果。如果成功,则在 Server2 中执行 INSERT 再换回到 Server1 观察是否工作正常。
如果都没有问题,那么恭喜成功!
六、破坏性测试
Server1 Server2 的网线拔掉(即 ifconfig eth0 down) ,观察另外一台集群服务器工作是否正常(可以使用 SELECT 查询测试)。测试完毕后,重新插入网线即可。
注意:在未对集群做任何读写操作前,此测试结果无效,因为,集群初始后只在 /var/lib/mysql-cluster/ 下建了几个空目录,还没有正常协同工作,会出现整个所有存储 (ndbd) 节点关闭 .
也可以这样测试:在 Server1 Server2 上:
# ps aux | grep ndbd
将会看到所有 ndbd 进程信息:
root 5578 0.0 0.3 6220 1964 ? S 03:14 0:00 ndbd
root 5579 0.0 20.4 492072 102828 ? R 03:14 0:04 ndbd
root 23532 0.0 0.1 3680 684 pts/1 S 07:59 0:00 grep ndbd
然后杀掉一个 ndbd 进程以达到破坏 MySQL 集群服务器的目的:
# kill -9 5578 5579
之后在另一台集群服务器上使用 SELECT 查询测试。并且在管理节点服务器的管理终端中执行 show 命令会看到被破坏的那台服务器的状态。
测试完成后,只需要重新启动被破坏服务器的 ndbd 进程即可:
# ndbd –ndb_nodeid=
此存储节点的 id
注意!前面说过了,此时是不用加 –inital 参数的!
至此, MySQL 双机集群就配置完成了!









本文转自 jxwpx 51CTO博客,原文链接:http://blog.51cto.com/jxwpx/209833,如需转载请自行联系原作者
相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
29天前
|
存储 SQL 关系型数据库
创建并配置RDS实例
在阿里云上创建RDS实例涉及登录控制台、进入RDS管理页面、创建实例、选择数据库引擎和版本、配置实例规格与存储、设定网络与安全组、设置实例信息、确认订单并支付,最后初始化数据库。操作步骤可能因界面更新或数据库引擎不同略有差异。
18 1
|
1月前
|
关系型数据库 MySQL 开发工具
MySQL5.7主从配置(Docker)
MySQL5.7主从配置(Docker)
726 0
|
2月前
|
存储 监控 关系型数据库
rds迁移前准备资源评估与配置
rds迁移前准备资源评估与配置
37 5
|
3月前
|
SQL 关系型数据库 MySQL
Mycat【Mycat部署安装(核心配置及目录结构、安装以及管理命令详解)Mycat高级特性(读写分离概述、搭建读写分离、MySQL双主双从原理)】(三)-全面详解(学习总结---从入门到深化)
Mycat【Mycat部署安装(核心配置及目录结构、安装以及管理命令详解)Mycat高级特性(读写分离概述、搭建读写分离、MySQL双主双从原理)】(三)-全面详解(学习总结---从入门到深化)
71 0
|
3月前
|
NoSQL 关系型数据库 MySQL
基于Python和mysql开发的BBS问答社区管理系统(源码+数据库+程序配置说明书+程序使用说明书)
基于Python和mysql开发的BBS问答社区管理系统(源码+数据库+程序配置说明书+程序使用说明书)
|
10天前
|
SQL 缓存 关系型数据库
mysql性能优化-慢查询分析、优化索引和配置
mysql性能优化-慢查询分析、优化索引和配置
76 0
|
15天前
|
缓存 关系型数据库 MySQL
MySQL查询优化:提速查询效率的13大秘籍(合理使用索引合并、优化配置参数、使用分区优化性能、避免不必要的排序和group by操作)(下)
MySQL查询优化:提速查询效率的13大秘籍(合理使用索引合并、优化配置参数、使用分区优化性能、避免不必要的排序和group by操作)(下)
|
25天前
Mybatis+mysql动态分页查询数据案例——配置映射文件(HouseDaoMapper.xml)
Mybatis+mysql动态分页查询数据案例——配置映射文件(HouseDaoMapper.xml)
14 1
|
28天前
|
弹性计算 关系型数据库 MySQL
rds子网配置
在阿里云中配置RDS子网涉及五个关键步骤:1) 创建或选择VPC作为私有网络环境;2) 在VPC内创建子网并确保IP地址不重叠;3) 关联路由表和安全组以控制流量及访问权限;4) 创建RDS实例时指定VPC和子网;5) 确保ECS实例与RDS在同一VPC或配置相应跨VPC访问,并调整安全组规则。这样可保障RDS与其他资源的通信及网络性能。
17 6
|
30天前
|
NoSQL 关系型数据库 MySQL
Docker安装详细步骤及相关环境安装配置(mysql、jdk、redis、自己的私有仓库Gitlab 、C和C++环境以及Nginx服务代理)
Docker安装详细步骤及相关环境安装配置(mysql、jdk、redis、自己的私有仓库Gitlab 、C和C++环境以及Nginx服务代理)
193 0

推荐镜像

更多