Haproxy+mysql cluster( MySQL 集群) 配置

一、准备

1、准备服务器

建立有2个节点的MySQL CLuster体系,使用6台服务器建立Haproxy+mysql cluster( MySQL 集群) 体系

节点配置说明
节点 对应的IP和端口
Haproxy负载均衡(1个) centos 6.3 1.1.1.11
 管理节点(1个) centos 6.3  1.1.1.30
 SQL节点 (2个) centos 6.3  1.1.1.21
 1.1.1.22
 数据节点 (2个) centos 6.3  1.1.1.31
 1.1.1.32

二、Haproxy负载均衡安装配置

[[email protected] ~]# yum install  haproxy*

在/etc/haproxy/目录下创建haproxy.cfg配置文件

--------------------------------------------------------------------------------

[[email protected] ~]# vim /etc/haproxy/haproxy.cfg

# this config needs haproxy-1.1.28 or haproxy-1.2.1

global

log 127.0.0.1   local0 info    #日志相关

log 127.0.0.1   local1 notice

maxconn 4096

chroot /usr/local/haproxy

uid root

gid root

daemon

#debug

#quiet

pidfile /usr/local/haproxy/haproxy.pid

defaults

log     global

mode    http

#option httplog

option  dontlognull

retries 3

option redispatch

maxconn         8000

contimeout      3000

clitimeout      30000

srvtimeout      30000

listen  mysql

bind 0.0.0.0:3306     #代理端口

mode tcp              #模式 TCP

option mysql-check #user root   #mysql健康检查  root为mysql登录用户名

balance roundrobin            #调度算法

server mysql1 1.1.1.21:3306 check port 3306#weight 1 check  inter 1s rise 2 fall 2 #健康检查加上check

server mysql2 1.1.1.22:3306 check port 3306#weight 1 check  inter 1s rise 2 fall 2

listen stats     #监控

mode http

bind 0.0.0.0:8888

stats enable

stats uri /dbs

stats realm Global\ statistics

stats auth admin:hello123

--------------------------------------------------------------------------------

启动服务:/usr/sbin/haproxy -f /etc/haproxy/haproxy.cfg

登录浏览器查看:  输入admin hello123登录

三、mysql cluster安装

1,mysql cluster 各节点安装,以管理节点为例

[[email protected] ~]# wget http://cdn.mysql.com/Downloads/MySQL-Cluster-7.3/mysql-cluster-gpl-7.3.7-linux-glibc2.5-x86_64.tar.gz

[[email protected] ~]# groupadd mysql

[[email protected] ~]# useradd mysql -g mysql

[[email protected] ~]# tar -xvf mysql-cluster-gpl-7.3.7-linux-glibc2.5-x86_64.tar.gz

[[email protected] ~]# mv mysql-cluster-gpl-7.3.7-linux-glibc2.5-x86_64 /usr/local/mysql

[[email protected] ~]# cd /usr/local/

[[email protected] ~]# chown -R mysql:mysql mysql/

[[email protected] ~]# cd mysql/

[[email protected] ~]# scripts/mysql_install_db --user=mysql

2,节点配置

管理节点:

[[email protected] ~]# vi  /var/lib/mysql-cluster/config.ini

--------------------------------------------------------------------------------

[NDBD DEFAULT]

NoOfReplicas=2 #副本数量,建议使用默认的2

MaxNoOfConcurrentOperations=10000

DataMemory=1024M #每个数据节点中给数据分配的内存

IndexMemory=500M #每个数据节点中给索引分配的内存

BackupMemory: 50M

[NDB_MGMD]

#管理节点配置项

Nodeid= 1

HostName=1.1.1.30 #管理节点IP

DataDir=/usr/local/mysql/data #管理节点日志、配置目录

ArbitrationRank: 1 #该节点的优先级别等级

[NDBD]

#数据节点配置项

Nodeid = 2 #第一个数据节点

HostName=1.1.1.31 #数据节点IP

DataDir=/usr/local/mysql/data #数据节点存放数据的目录

[NDBD]

Nodeid = 3 #第二个数据节点

HostName=1.1.1.32

DataDir=/usr/local/mysql/data

[mysqld]

#SQL节点配置项

Nodeid = 4 #第一个SQL节点

HostName=1.1.1.21

[mysqld]

Nodeid = 5 #第二个SQL节点

HostName=1.1.1.22

[mysqld]

Nodeid = 6 #第三个SQL节点

HostName=1.1.1.254

[mysqld]

#建议保留一个SQL节点配置口

--------------------------------------------------------------------------------

数据节点: 两数据节点配置一样

[[email protected] ~]# vim /etc/my.cnf

--------------------------------------------------------------------------------

[mysqld]

datadir=/usr/local/mysql/data

socket=/usr/local//mysql/mysql.sock

user=mysql

# Disabling symbolic-links is recommended to prevent assorted security risks

symbolic-links=0

#运行NDB存储引擎

ndbcluster

#指定管理节点

ndb-connectstring=1.1.1.30:1186

[MYSQL_CLUSTER]

ndb-connectstring=1.1.1.30:1186

[NDB_MGM]

connect-string=1.1.1.30

[mysqld_safe]

log-error=/usr/local/mysql/log/mysqld.log

pid-file=/var/run/mysqld/mysqld.pid

--------------------------------------------------------------------------------

SQL节点配置:

[[email protected] ~]# cd /usr/local/mysql/

[[email protected] ~]# cp support-files/mysql.server /etc/rc.d/init.d/mysqld

[[email protected] ~]# chmod +x /etc/rc.d/init.d/mysqld

[[email protected] ~]# chkconfig --add mysqld

[[email protected] ~]# vi /etc/my.cnf

--------------------------------------------------------------------------------

[mysqld]

server-id=4

#每个服务器的id不一样

datadir=/usr/local/mysql/data

socket=/var/lib/mysql/mysql.sock

user=mysql

# Disabling symbolic-links is recommended to prevent assorted security risks

symbolic-links=0

log-bin = /usr/local/mysql/log/mysql-bin.log

max_connections=1000

skip-name-resolve

#以下为mysql 主主模式的配置文件

# 忽略mysql数据库复制

binlog-ignore-db=mysql

# 每次增长2

auto-increment-increment = 2

# 设置自动增长的字段的偏移量,即初始值为2

auto-increment-offset = 1

[mysqld_safe]

log-error=/usr/local/mysql/log/mysqld.log

pid-file=/usr/local/mysql/mysqld.pid

[MYSQLD]

ndbcluster

ndb-connectstring=1.1.1.30

[MYSQL_CLUSTER]

ndb-connectstring=1.1.1.30

[NDB_MGM]

connect-string=1.1.1.30

3,启动服务

CLUSTER启动的顺序依次为:管理节点—数据节点—SQL节点 关闭顺序相反

管理节点启动:

[[email protected] ~]# /usr/local/mysql/bin/ndb_mgmd -f /var/lib/mysql-cluster/config.ini

添加新节点后,重新加载管理节点配置信息:

[[email protected] ~]# /usr/local/mysql/bin/ndb_mgmd -f /etc/config.ini --initial

[[email protected] ~]# /usr/local/mysql/bin/ndb_mgmd -f /etc/config.ini --reload

数据节点启动:

[[email protected] ~]# /usr/local/mysql/bin/ndbd --initial

注意:仅限第一次mysql节点启动使用–-initial,后面再启动不需要此参数

SQL节点启动:

[[email protected] ~]# service mysqld start

四、mysql cluster 测试

1,查看cluster 信息

[[email protected] ~]#ndb_mgm -e show

2,测试SQL数据同步

从SQL节点1登录,创建数据库和表,进行简单测试。

[[email protected] ~]# mysql -uroot -p

mysql> create database test ;

mysql> use test;
Database changed

mysql> create table test1(id int,name varchar(10)) engine=ndb ;

mysql> insert into test1 values(1,‘test‘);

mysql> select * from test1 ;

+------+---------+
| id   | name    |
+------+---------+
|    1     | test | 
+------+---------+

从SQL节点2登录,查看效果,库,表和数据已经同步。

从SQL节点2节点插入一条数据,同样登陆SQL节点1,也能看到数据已经同步

3,测试HA服务

停止SQL节点2服务查看

[[email protected] ~]# /etc/init.d/mysqld stop

Shutting down MySQL....                                    [  OK  ]

mysql 服务 1.1.1.11:3306 依然可以正常使用。

时间: 2024-10-26 18:19:29

Haproxy+mysql cluster( MySQL 集群) 配置的相关文章

MySQL Study之--MySQL Cluster(集群)构建

MySQL Study之--MySQL Cluster(集群)构建 一.Mysql Cluster概述与部署 MySql Cluster最显著的优点就是高可用性,高实时性,高冗余,扩展性强. 它允许在无共享的系统中部署"内存中"数据库的Cluster.通过无共享体系结构,系统能够使用廉价的硬件.此外,由于每个组件有自己的内存和磁盘,所以不存在单点故障. 它由一组计算机构成,每台计算机上均运行者多种进程,包括mysql服务器,NDB cluster的数据节点,管理服务启,以及专门的数据访

mysql优化(3) 集群配置

两台服务器 192.168.187.131 192.168.187.132 1.主从配置 131为主 132为从 在131下 vim /etc/my.cnf [mysqld] datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock user=mysql # Disabling symbolic-links is recommended to prevent assorted security risks symbolic-links=0 #

ActiveMQ Cluster (ActiveMQ 集群) 配置

构建高可用的ActiveMQ系统在生产环境中是非常重要的,对于这个apache的消息中间件实现高可用非常简单,只要在Apache ActiveMQ单点基本配置基础上做一次配置变更(如果在一台设备上部署多个AMQ,需要修改对应端口号),即可实现 AMQ实现高可用部署有三种方案: 1.Master-Slave 2.SharedFile System Master Slave 3.JDBCMaster Slave 第一种方案由于只可以由两个AMQ实例组件,实际应用场景并不广泛: 第三种方案支持N个AM

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版本兼容的

MySql 集群配置

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

Linux环境MySQL集群配置

一.介绍 ======== 这篇文档旨在介绍如何安装配置基于2台服务器的MySQL集群.并且实现任意一台服务器出现问题或宕机时MySQL依然能够继续运行. 注意! 虽 然这是基于2台服务器的MySQL集群,但也必须有额外的第三台服务器作为管理节点,但这台服务器可以在集群启动完成后关闭.同时需要注意的是并不推荐在 集群启动完成后关闭作为管理节点的服务器.尽管理论上可以建立基于只有2台服务器的MySQL集群,但是这样的架构,一旦一台服务器宕机之后集群就无法继 续正常工作了,这样也就失去了集群的意义了

MySQL Cluster MySQL集群

原文:http://lizhenliang.blog.51cto.com/7876557/1290451 Linux最新版本7.3.2 文件 大小 md5 mysqlcluster-7.3.2-linux-x32.tar.gz 431.0MB 03093541b6416fc93935750d614d875b mysqlcluster-7.3.2-linux-x64.tar.gz 441.8MB 330c71a87fbf8f0468ec9c5e0ad6e794  官方下载地址:http://dev

mysql集群配置

最近好不容易抽空研究了下Cobar,感觉这个产品确实很不错(在文档方面比Amoeba强多了),特此推荐给大家.Cobar是阿里巴巴研发的关系型数据的分布式处理系统,该产品成功替代了原先基于Oracle的数据存储方案,目前已经接管了3000+个MySQL数据库的schema,平均每天处理近50亿次的SQL执行请求. 首先,使用Cobar的核心功能如下: 分布式: Cobar的分布式主要是通过将表放入不同的库来实现: 1. Cobar支持将一张表水平拆分成多份分别放入不同的库来实现表的水平拆分 2.

Mysql、MariaDB 新型主从集群配置GTID

前文谢了<Mysql.MariaDB 传统主从集群配置>,该技术已经非常成熟.从Mysql5.6和MariaDB10.0开始,有了新型的主从方案GTID,不过这两个系统到这个版本出现了分支,具体实现已经不同,配置方法也不同,下文分别讲述. MariaDB: 我用的版本还是10.1版,目前该版本还不是稳定版,但不影响测试.先部署部署好两个数据库实例,参见http://bangbangba.blog.51cto.com/3180873/1701857 直到创建好复制用户. 我们这里的由于是新创建的