部署mysql集群

集群:使用一组服务器提供相同的服务
LB :负载均衡集群
HA :高可靠集群
mysql集群中服务器的角色?
1、数据节点  ndbd
                      用来储藏数据(表的记录)
2、sql节点
                     用户访问数据的接口
                     执行用户输入的sql语句                     
3、管理节点 mgmd
                     管理集群中的所有主机
                     在启动管理进程时加载,自己的主配置文件,定义集群中各个主机的角色
4、客户端:访问数据
                    只要有连接数据库服务的工具就可以了   //(mysql-cluster-client)
mysql-clusert  提供3种进程
管理进程    管理进程运行的管理主机上
ndbd进程   运行在数据节点上。
sql进程(集群软件包里提供的数据库服务,运行sql节点上)

一、安装提供集群服务的软件包

tar -xvf MySQL-Cluster-gpl-7.3.3-1.el6.x86_64.rpbundle.tar             
 rpm -ivh MySQL-Cluster-*.rpm

二、配置管理节点  192.168.1.1

管理集群中的所有主机,启动管理进程时加载自己的主配置文件/etc/config.ini (设置集群中个主机的角色,各个主机角色在运行时参数的设置)

[ndbd  default]                               // 数据节点公共配置
[ndb_mgmd]                                    //设置管理主机
[ndbd]                                        // 指定数据节点主机
[mysqld]                                      // 指定sql节点                                            
mkdir   /var/log/mysql-cluster                //自己创建这个目录
vim  /etc/config.ini                      //自己编辑这个文件
[ndbd  default] 
NoOfReplicas=2                          //数据节点主机个数
DataMemory=80M                         
IndexMemory=18M                       
[ndb_mgmd]                              //管理节点
nodeid=1                          
hostname=192.168.1.1        
datadir=/var/log/mysql-cluster  
[ndbd]                                              //数据节点
nodeid=2                          
hostname=192.168.1.10 
datadir=/var/log/mysql-cluster/data 
[ndbd]                                             //数据节点
nodeid=20                         
hostname=192.168.1.20 
datadir=/var/log/mysql-cluster/data 
[mysqld]                                           //mysql节点
nodeid=10                              
hostname=192.168.1.30  
[mysqld]    
nodeid=30                              
hostname=192.168.1.40
:wq

三、配置数据节点  192.168.1.10   192.168.1.20

数据节点用来存储数据,运行数据进程

ping   192.168.1.1
mkdir  -p    /var/log/mysql-cluster/data             //自己创建这个目录
vim  /etc/my.cnf                                     //自己编辑这个文件
[mysqld]
datadir=/var/log/mysql-cluster/data        
ndb-connectstring=192.168.1.1
ndbcluster                         
[mysql_cluster]
ndb-connectstring=192.168.1.1
另一个数据节点配置和这个一样
只需 scp /etc/my.cnf

四、配置sql节点  192.168.1.30   192.168.1.40

供用户访问和执行sql语句,运行mysql数据服务。

vim  /etc/my.cnf
[mysqld]
ndbcluster                         
default-storage-engine=ndbcluster  
[mysql_cluster]
ndb-connectstring=192.168.1.1 
:wq
 另一个mysql节点配置和这个一样
只需 scp /etc/my.cnf  [email protected]:/etc/my.cnf

五、启动集群服务

1 启动管理节点

ndb_mgmd  -f   /etc/config.ini
netstat  -untlap  | grep  :1186
ps  aux | grep   ndb_mgmd
pkill   -9    ndb_mgmd                      //结束进程需要这条口令
[[email protected] ~]# ndb_mgm
-- NDB Cluster -- Management Client --
ndb_mgm> show
ndb_mgm>exit

2 启动数据节点

[[email protected] ~]#ndbd
pgrep   ndbd                  
pkill  -9  ndbd                            //结束进程需要这条口令
*  ndb 节点进程启动不了,
在管理节点和数据节点执行  
iptables  -F             
service iptables save
然后再在数据节点上执行ndbd
3 启动sql节点
service  mysql  restart

六、验证集群

解决单点故障
      当有一台数据节点down机不会影响服务
      当有一台MYSQLdown机也不会影响服务
启动mysql时经常出现缺少xxx.pid这个问题,只需要把/var/lib/mysql/下有关日志文件删除就行,  然 后重新启动服务
时间: 2024-10-10 20:58:27

部署mysql集群的相关文章

部署mysql集群基础环境

设置slave2为master1从:部署集群基础环境 1.1 问题 本案例要求为MySQL集群准备基础环境,完成以下任务操作: 数据库授权 部署MySQL双主多从结构 配置本机hosts解析记录 1.2 方案 使用4台RHEL 6虚拟机,如图-1所示.其中192.168.4.10.192.168.4.11作为MySQL双主服务器,192.168.4.12.192.168.4.13作为主服务器的从服务器. 图-1 1.3 步骤 实现此案例需要按照如下步骤进行. 步骤一:准备环境 [[email p

Mysql集群(PXC)入门

第1章  课程介绍 1-1 引言 1-2 天猫双十一案例 1-3 微信红包案例 1-4 技术学习的目标和方式 1-5 课程学习目标 1-6 硬件环境介绍 第2章 PXC原理 2-1 单节点数据库的介绍 2-2 PXC 集群方案 2-3 Replication集群方案 2-4 系统架构方案介绍 2-5 APP 项目介绍 2-6 Docker 虚拟机部署MYSQL集群 2-7 APP 项目演示 2-8 PXC简介 2-9 PXC测试案例 2-10 PXC集群工作原理 第3章 PXC数据强一致性 3-

MySQL集群之Fabric部署使用

Fabric是Oracle公司开发的既有分片又有读写分离的MySQL集群管理工具,虽然个人觉得目前版本还有很多缺陷,但应该会逐步完善,将来会是一个不错的工具. 第一步:下载并安装 Fabric Fabric可以从MySQL官网下载,她属于MySQL Utilites里,官方下载地址是http://dev.mysql.com/downloads/utilities/ 我下载的是源码版的,mysql-utilities-1.5.6.zip,因为是Python所写,所以安装跟C语言的不同: $ unz

使用mysql-mmm实现mysql集群部署

背景:之前实现的mysql同步复制功能(见笔者之前文章http://blog.csdn.net/kingofworld/article/details/39210937)只是双机热备功能,还不能做到Mysql链接的自动切换. 本配置实现真正的mysql集群,使得在某台机子的mysql应用停止时,能让应用程序自动切换到另外一台机子的mysql连接,实现应用的高稳定性,并且使得扩展Mysql服务成为可能. 本配置使用mysql-mmm(master-master Replication Manage

MySQL集群(二)之主主复制

前面介绍了主从复制,这一篇我将介绍的是主主复制,其实听名字就可以知道,主主复制其实就是两台服务器互为主节点与从节点.接下来我将详细的给大家介绍,怎么去配置主主复制! 一.主从复制中的问题 1.1.从节点占用了主节点的自增id 环境: 主节点:zyhserver1=1.0.0.3 从节点:udzyh1=1.0.0.5 第一步:我们在主节点中创建一个数据库db_love_1,在创建一个表tb_love(里面有id自增和name属性). create database db_love_1; use d

MySQL Cluster(MySQL 集群) 初试(转)

作/译者:叶金荣(imysql#imysql.com>),来源:http://imysql.com,欢迎转载. 作/译者:叶金荣(Email: ),来源:http://imysql.cn,转载请注明作/译者和出处,并且不能用于商业用途,违者必究. MySQL Cluster 是MySQL适合于分布式计算环境的高实用.高冗余版本.它采用了NDB Cluster 存储引擎,允许在1个 Cluster 中运行多个MySQL服务器.在MyQL 5.0及以上的二进制版本中.以及与最新的Linux版本兼容的

MariaDB Galera Cluster 部署(如何快速部署 MariaDB 集群)

MariaDB Galera Cluster 部署(如何快速部署 MariaDB 集群)  OneAPM蓝海讯通7月3日 发布 推荐 4 推荐 收藏 14 收藏,1.1k 浏览 MariaDB 作为 Mysql 的一个分支,在开源项目中已经广泛使用,例如大热的 openstack,所以,为了保证服务的高可用性,同时提高系统的负载能力,集群部署是必不可少的. MariaDB Galera Cluster 介绍 MariaDB 集群是 MariaDB 同步多主机集群.它仅支持 XtraDB/ Inn

MySql 集群配置

MYSQL CLUSTER方案介绍 本文的大致框架来自罗志威.黄川的报告, 在它的基础上进行简化和修改一些bug并且添加了主从复制的章节,最后做出该文档 MySQL Cluster 是MySQL适合于分布式计算环境的高实用.高冗余版本.它采用了NDB Cluster 存储引擎,允许在1个 Cluster 中运行多个MySQL服务器.现在mysql cluster 被独立出来, 作为一个专门的产品进行运营, mysql-server-5.6+ 就不在存在对mysql cluster的支持,需要独立

mysql集群一:主从复制,通过mysql-proxy做负载均衡

mysql集群架构方式很多,根据不同的需求做不一样的架构,简单一点的就是mysql的replication,也就是Mysql的复制功能,模式有:master-slaves,master-slaves-slaves,master-master-slaves等可以有多个分层,那么现在我所要说的是master-slaves的模式(其他的模式原理基本都一样),然后再通过mysql官方提供的Mysql-proxy实现读写分离,达到负载均衡的效果. 环境: 主机:master:192.168.1.109,s