威尼斯人线上娱乐

3台机械搭建集群情形,详解MySQL集群搭建

30 10月 , 2019  

证实:在1台机械上搭建集群情形比较轻便,直接参谋MySQL官方网址给出的申明文件就足以轻巧配置。3台机器搭建集群情况遇到标题超多,首要难题如下:

概述

(1)防火墙难点,3台机械的防火墙都亟需关闭。笔者在测验进程中刚初叶是全然未有思量到这一个标题,后来察觉这一个难题,也只是把管理节点的防火墙关闭,结果是喜剧的。

MySQL Cluster 是MySQL
切合于遍及式总计情状的高实用、可进展、高质量、高冗余版本,其研究开发设计的当初的愿景正是要满意广大行当里的最严厉应用须求,这么些应用中平常供给数据库运营的可信赖性要落成99.999%。MySQL
Cluster允许在无分享的系统中布署“内部存款和储蓄器中”数据库集群,通过无分享类别布局,系统能够使用廉价的硬件,何况对软硬件无特殊须要。其他,由于各类组件有和好的内部存款和储蓄器和磁盘,一纸空文单点故障。

(2)运维数据库难题,由于本人未曾设置MySQL客商端,直接用mysql命令运营不了数据库,纠缠了十分久最终用了:ln
-s /var/lib/mysql/mysql.sock /tmp/mysql.sock这几个命令终于消弭了。

实质上,MySQL集群是把二个叫作NDB的内部存款和储蓄器集群存款和储蓄引擎集成与标准的MySQL服务器集成。它包涵意气风发组计算机,每一种都跑三个照旧七个经过,那或许包罗二个MySQL服务器,一个数额节点,四个管理服务器和三个专有的一个数据访问程序。

(3)虚构机难题,不亮堂怎么,作者用clone的系统做这几个实验不可能成功,最终只可以是安装八个种类。至于何以用clone的系统不得不负众望,小编还未找到原因所在。

MySQL
Cluster能够利用八种故障切换和负载平衡选项配置NDB存款和储蓄引擎,但在Cluster
等第上的存放引擎上做这么些最简便。以下为MySQL集群结构涉及图,

除外上述四个让笔者纳闷了相比长日子的难点,别的还遭逢重重小题目,在这里处就不写出来了。即便条件已经搭建成功,但中间的规律还不是很明白,还索要在实际上利用中去逐步知晓体会。

威尼斯人线上娱乐 1

MySQL Cluster 3台机械搭建集群境况 DOC 文书档案下载

MySQL从布局看,由3类节点(Computer或进度)组成,分别是:

无需付费下载地址在

管理节点:用来给全体集群其余节点提供配置、管理、仲裁等功效。理论上经过风流倜傥台服务器提供服务就能够了。

客商名与密码都是www.linuxidc.com

数据节点:MySQL
Cluster的骨干,存款和储蓄数据、日志,提供数据的各个管理服务。2个以上
时就可以促成集群的高可用保障,DB节点扩张时,集群的管理速度会变慢。

实际下载目录在 /二零一二年龄资历料/3月/28日/MySQL Cluster 3台机器搭建集群碰着

SQL节点(API):用来访谈MySQL Cluster数据,提供对外应用服务。扩大 API
节点会升高总体集群的现身访谈速度和完整的吞吐量,该节点
能够布署在Web应用服务器上,也足以配备在专项使用的服务器上,也开以和DB安排在平等台服务器上。

威尼斯人线上娱乐 2

NDB引擎

MySQL Cluster
使用了叁个专项使用的基于内部存款和储蓄器的积累引擎——NDB引擎,这样做的裨益是速度快,
未有磁盘I/O的瓶颈,然而由于是基于内部存储器的,所以数据库的框框受系统总内存的界定,
即使运营NDB的MySQL服务器一定要内部存款和储蓄器够大,举例4G, 8G,
以至16G。NDB引擎是分布式的,它能够布置在多台服务器上来达成数量的可信性和扩大性,理论上
通过配备2台NDB的蕴藏节点就能够促成全部数据库集群的冗余性和解决单点故障难题。

缺陷

  • 依照内部存款和储蓄器,数据库的框框受集群总内部存款和储蓄器的尺寸限定
  • 基于内部存款和储蓄器,断电后数据大概会有数量错失,那一点还索要通过测量检验申明。
  • 八个节点通过网络完成通信和数量同步、查询等操作,由此全部性受网络速度影响,由此进程也极慢

2.2 优点

  • 多少个节点之间可以遍布在差异的地理地方,因而也是二个兑现分布式数据库的方案。
  • 扩大性很好,扩展节点就能够达成数据库集群的恢弘。
  • 3台机械搭建集群情形,详解MySQL集群搭建。冗余性很好,四个节点上都有全部的数据库数据,因而任何叁个节点宕机都不会促成服务中断。

完结高可用性的血本异常低,不象守旧的高可用方案相通需求分享的存储设备和专用的软件才具达成,NDB
只要有丰富的内部存款和储蓄器就能够落到实处。

正文将搭建多个最简化的MySQL
Cluster系统,配置方式中的全体命令都以以root账户运行。这些MySQL
Cluster包括二个处理结点、四个数据结点、五个SQL结点,那四个结点会分别安装在四个设想机上,设想机的名目和IP如下所示:

威尼斯人线上娱乐 3

豆蔻梢头、公共配置

请在多个虚构机上分别安顿此处的陈设项。

1. 装置设想机

设想机操作系统安装CentOS
6.4的x86_64本子,使用NAT网络,何况还要设置vmware-tools,具体安装情势此处不详述。

2. 拷贝mysql cluster

下载MySQL-Cluster:

下载获得的压缩包拷贝至虚构机的/root/Downloads目录,然后在shell中运作以下命令:

cd /root/Downloads 

tar -xvzf mysql-cluster-gpl-7.3.4-linux-glibc2.5-x86_64.tar.gz 

mv mysql-cluster-gpl-7.3.4-linux-glibc2.5-x86_64 /usr/local/mysql

 3. 闭馆安全计策

关闭iptables防火墙(或许展开防火墙的1186、3306端口),在Shell中运作以下命令:

chkconfig --level 35 iptables off 

关门SELinux,在Shell中运转以下命令:

gedit /etc/selinux/config 

将config文件中的SELINUX项改为disabled,改进后的config文件的剧情如下:

# This file controls the state of SELinux on the system. 

# SELINUX= can take one of these three values: 

# enforcing - SELinux security policy is enforced. 

# permissive - SELinux prints warnings instead of enforcing. 

# disabled - No SELinux policy is loaded. 

SELINUX=disabled 

# SELINUXTYPE= can take one of these two values: 

# targeted - Targeted processes are protected, 

# mls - Multi Level Security protection. 

SELINUXTYPE=targeted 

最后重启系统

二、配置管理结点(192.168.124.141)

  1. 配置config.ini配置文件

在shell中运作以下命令:

mkdir /var/lib/mysql-cluster 

cd /var/lib/mysql-cluster 

gedit config.ini 

配备文件config.ini内容如下:

[ndbd default] 

NoOfReplicas=2 

DataMemory=80M 

IndexMemory=18M 

[ndb_mgmd] 

NodeId=1 

hostname=192.168.124.141 

datadir=/var/lib/mysql-cluster 

[ndbd] 

NodeId=2 

hostname=192.168.124.142 

datadir=/usr/local/mysql/data 

[ndbd] 

NodeId=3 

hostname=192.168.124.143 

datadir=/usr/local/mysql/data 

[mysqld] 

NodeId=4 

hostname=192.168.124.144 

[mysqld] 

NodeId=5 

hostname=192.168.124.145 

2. 设置管理结点

安装管理节点,不须要mysqld二进制文件,只要求MySQL
Cluster服务端程序(ndb_mgmd)和监听顾客端程序(ndb_mgm)。在shell中运转以下命令:

cp /usr/local/mysql/bin/ndb_mgm* /usr/local/bin 

cd /usr/local/bin 

chmod +x ndb_mgm* 

三、配置数据结点(192.168.124.142、192.168.124.143)

1. 增多mysql组和顾客

在shell中运作以下命令:

groupadd mysql 

useradd -g mysql mysql 

2. 布局my.cnf配置文件

在shell中运转以下命令:

gedit /etc/my.cnf 

安插文件my.cnf的内容如下:

[mysqld] 

basedir=/usr/local/mysql 

datadir=/usr/local/mysql/data 

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

user=mysql 

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

symbolic-links=0 

[mysqld_safe] 

log-error=/var/log/mysqld.log 

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

[mysql_cluster] 

ndb-connectstring=192.168.124.141 

3. 创立系统数据库

在shell中运作以下命令:

cd /usr/local/mysql 

mkdir sock 

scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data 
  1. 安装数据目录

在shell中运转以下命令:

chown -R root . 

chown -R mysql.mysql /usr/local/mysql/data 

chown -R mysql.mysql /usr/local/mysql/sock 

chgrp -R mysql . 

5. 配置MySQL服务

在shell中运作以下命令:

cp support-files/mysql.server /etc/rc.d/init.d/ 

chmod +x /etc/rc.d/init.d/mysql.server 

chkconfig --add mysql.server

四、配置SQL结点(192.168.124.144、192.168.124.145)

1. 加多mysql组和顾客

在shell中运维以下命令:

groupadd mysql 

useradd -g mysql mysql 

2. 安顿my.cnf配置文件

在shell中运作以下命令:

gedit /etc/my.cnf

布局文件my.cnf的源委如下:

[client] 

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

[mysqld] 

ndbcluster 

datadir=/usr/local/mysql/data 

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

ndb-connectstring=192.168.124.141 

[mysql_cluster] 

ndb-connectstring=192.168.124.141 

3. 创制系统数据库

在shell中运维以下命令:

cd /usr/local/mysql 

mkdir sock 

scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data 
  1. 设置数据目录

在shell中运作以下命令:

chown -R root . 

chown -R mysql.mysql /usr/local/mysql/data 

chown -R mysql.mysql /usr/local/mysql/sock 

chgrp -R mysql . 

5. 配置MySQL服务

在shell中运营以下命令:

cp support-files/mysql.server /etc/rc.d/init.d/ 

chmod +x /etc/rc.d/init.d/mysql.server 

chkconfig --add mysql.server 

五、Cluster遇到运营

介意运转顺序:首先是处理节点,然后是数量节点,最终是SQL节点。

1. 运营拘禁结点

在shell中运作以下命令:

ndb_mgmd -f /var/lib/mysql-cluster/config.ini

 还可以够动用ndb_mgm来监听客户端,如下:

ndb_mgm

2. 伊始数量结点

第一遍开发银行,则需求增加–initial参数,以便进行NDB节点的最早化职业。在这里后的运行进程中,则是不能够增多该参数的,不然ndbd程序会免去在事先建构的有着用于恢复生机的数据文件和日志文件。

/usr/local/mysql/bin/ndbd --initial 

假定不是第贰次开行,则施行下边包车型的士指令。

/usr/local/mysql/bin/ndbd 

3. 启动SQL结点

若MySQL服务未有运维,则在shell中运作以下命令:

/usr/local/mysql/bin/mysqld_safe --user=mysql & 

4. 起动测验

查看管理节点,运维成功

六、集群测验

1. 测试一

现行反革命大家在其间三个SQL结点上实行相关数据库的创建,然后到别的叁个SQL结点上看看数据是不是同步。

在SQL结点1(192.168.124.144)上执行:

shell> /usr/local/mysql/bin/mysql -u root -p 

mysql>show databases; 

mysql>create database aa; 

mysql>use aa; 

mysql>CREATE TABLE ctest2 (i INT) ENGINE=NDB; //这里必须指定数据库表的引擎为NDB,否则同步失败 

mysql> INSERT INTO ctest2 () VALUES (1); 

mysql> SELECT * FROM ctest2; 

接下来在SQL结点2上看数据是还是不是同步过来了

由此测量检验,在非master上创造数量,能够联手到master上

查看表的引擎是否NDB,>show create table 表名;

2. 测试二

闭馆二个数额节点
,在别的壹个节点写输入,开启关闭的节点,看数据是还是不是同步过来。

第生龙活虎把多少结点1重启,然后在结点2上添扩张少

在SQL结点2(192.168.124.145)上操作如下:

mysql> create database bb; 

mysql> use bb; 

mysql> CREATE TABLE ctest3 (i INT) ENGINE=NDB; 

mysql> use aa; 

mysql> INSERT INTO ctest2 () VALUES (3333); 

mysql> SELECT * FROM ctest2; 

等数据结点1起动完成,运维数量结点1的服务

#/usr/local/mysql/bin/ndbd –initial#service mysqld start
接下来登陆进去查看数据

# /usr/local/mysql/bin/mysql -u root –p
能够看看数据现已一同过来了,表明数据能够双向同步了。

七、关闭集群

  1. 关闭管理节点和数目节点,只要求在管理节点(ClusterMgm–134)里进行:
Connected to Management Server at: localhost:1186 

2 NDB Cluster node(s) have shutdown. 

Disconnecting to allow management server to shutdown. 

显示

Connected to Management Server at: localhost:1186 

2 NDB Cluster node(s) have shutdown. 

Disconnecting to allow management server to shutdown. 
  1. 接下来倒闭Sql节点(135,136),分别在2个节点里运营:
shell> /etc/init.d/mysql.server stop

Shutting down MySQL... SUCCESS!

在意:要重复运行集群,就依照第五有个其他启航步骤就可以,可是此次运行数量节点的时候就绝不加”-initial”参数了。

以上就是MySQL集群搭建进程,希望对大家本身入手搭建MySQL集群具备助于

威尼斯人线上娱乐,您也许感兴趣的篇章:

  • nginx+apache+mysql+php+memcached+squid搭建集群web蒙受
  • 持有负载均衡功用的MySQL服务器集群安排及完毕
  • mysql
    ndb集群备份数据库和回复数据库的措施
  • 集群运转自动化学工业具ansible使用playbook安装mysql
  • MySQL
    slave_net_timeout参数消除的一个集群难点案例
  • Windows Server 2003 下配置 MySQL
    集群(Cluster)教程


相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图