mysql集群搭建部署
来源:互联网 发布:数据库 图标 编辑:程序博客网 时间:2024/05/16 10:06
应用场景
数据存储在mysql中,单节点存储如果数据量十分大,数据就很可能存不下。因此我们需要搭建部署mysql的集群模式,增加数据的存储量,而且提到数据库访问的并发。
操作步骤
1. 概述
MySQL 群集是 MySQL 适合于分布式计算环境的高可用、高冗余版本。它采用了 NDB Cluster 存储引擎,允许在 1
个群集中运行多个 MySQL 服务器。MySQL Cluster 由一组计算机构成,每台计算机上均运行着多种进程,包括 MySQL 服务器,NDB Cluster 的数据节点,管理服务器,以及(可能存在的)专门的数据访问程序。
2. 系统环境
2.1 拓扑结构
Mysql集群拓扑结构如下所示:
节点环境说明:
2.2 服务器配置
3. 安装配置
3.1 准备工作
下载MySQL安装包,放于每台服务器的/usr/local/src目录下。
3.2 环境清理
安装服务端软件之前,务必检查当前服务器是否“干净”,即计算机在安装完操作系统和更新过重要补丁后没有安装过其他版本MySQL软件(解压缩等基本工具除外);
如果之前已经安装过服务端相关MySQL软件,请务必按照软件卸载说明卸载删除之前的版本。 具体操作如下:
清理之前操作系统自带的MySQL安装: # yum -y remove mysql然后使用如下命令查找mysql包: # rpm -qa | grep mysql*如果查找到,例如:mysql-libs-5.1.71-1.el6.x86_64,我们要对1个剩余的M与SQL包进行手动删除清理: # rpm -e --nodeps mysql-libs-5.1.71-1.el6.x86_64
3.3 关闭防火墙和selinux
关闭防火墙 # chkconfig iptables off关闭 selinux # vim /etc/selinux/config #(改为SELINUX=disabled)保存退出,重启服务器 # reboot
3.4 软件安装
由于软件安装包在/usr/local/src/目录下,需要切换到该目录进行操作。 # cd /usr/local/src/ # tar -xzvf mysql-cluster-gpl-7.4.5-linux-glibc2.5-x86_64.tar.gz # mv /usr/local/src/mysql-cluster-gpl-7.4.5-linux-glibc2.5-x86_64/* /usr/local/src/mysql注:第二个语句,解压mysql压缩包,并不一定解压到当前/usr/local/src/目录下,可能默认安装到/root/目录下,所以第三个语句要适当的改变。
3.5 新建mysql用户及用户组
按如下命令,一步步执行,进行新建mysql用户及用户组: # groupadd mysql # useradd -g mysql mysql # chown -R mysql:mysql /usr/local/src/mysql # chown -R root /usr/local/src/mysql # chgrp -R mysql /usr/local/src/mysql
3.6 初始化mysql集群
# cd /home/data/usr/local/mysql # ./scripts/mysql_install_db --user=mysql --basedir=/usr/local/src/mysql --datadir=/usr/local/src/mysql/data安装目录是datadir=/usr/local/src/mysql/data
3.7 配置管理节点node1
注:删除自带的 /etc/my.cnf
切记:一定要删除掉! 因为ndb_mgmd启动的时候,也会加上/etc/my.cnf的配置内容,干扰我们,所以要删除它
具体操作如下: # rm -rf /etc/my.cnf新建配置文件存放目录: # mkdir /usr/local/src/mysql/etc # chown mysql:mysql /usr/local/src/mysql/etc
创建配置文件 config.ini # vim //usr/local/src/mysql/etc/config.iniconfig.ini内容如下:[ndb_mgmd default]datadir = /usr/local/src/mysql/data[ndbd default]NoOfReplicas = 2 #DataMemory = 6G #IndexMemory = 2G #datadir = /usr/local/src/mysql/dataDefault value = 20Changed it to TimeBetweenLocalCheckpoints =6Default value = 16MChanged it to FragmentLogFileSize=256MMaxNoOfTables = 10000MaxNoOfAttributes = 100000MaxNoOfOrderedIndexes = 10000FileSystemPath =/usr/local/src/mysql/data[ndb_mgmd]NodeId = 1HostName = 192.168.202.20[ndbd]NodeId = 2HostName = 192.168.202.21[ndbd]NodeId = 3HostName = 192.168.202.22[ndbd]NodeId = 4HostName = 192.168.202.23[ndbd]NodeId = 5HostName = 192.168.202.24[mysqld]NodeId = 6HostName = 192.168.202.7[mysqld]NodeId = 7HostName = 192.168.202.8[mysqld][mysqld][mysqld][mysqld]设置完成,保存退出!
3.8 配置数据节点和sql节点
注:所有的sql节点和data节点的配置文件都是一样的,都指向主节点,接受主节点管理。
拷贝文件 # cp -rf /usr/local/src/mysql/support-files/mysql.server /etc/init.d/mysqldmysql服务启动时会默认加载/etc/my.cnf作为其配置文件,修改节点上的my.cnf配置文件,内容如下:[mysqld]max_connections=100datadir=/usr/local/src/mysql/databasedir=/usr/local/src/mysqlndbclusterlower_case_table_names=1innodb_lock_wait_timeout=500ndb-connectstring=192.168.202.20port=3306[mysql_cluster]ndb-connectstring=192.168.202.20[ndb_mgm]connect-string=192.168.202.20[ndb_mgmd]config-file=/usr/local/src/mysql/etc/config.ini配置完成,保存退出!MySql集群到此已经配置完成!下面我们就可以对它进行使用!
4. 集群启动
注:集群搭建完毕后,启动节点,必须按照如下启动顺序:
先启动管理节点(168.202.20 node1)
然后启动数据节点(192.168.202.21~192.168.202.24,node2 node3 node4 node5分别开启)
最后启动sql节点(192.168.202.7,192.168.202.8,sql1 sql2),具体启动操作如下所示。
4.1 启动管理节点
注:–initial 首次加载/usr/local/src/mysql/etc/config.ini文件,其它时候不要加,除非是在备份、恢复或配置变化后重启时,不然数据就清空。
初始化启动方式 # /usr/local/src/mysql/bin/ndb_mgmd -f /usr/local/src/mysql/etc/config.ini --initial正常启动方式 # /usr/local/src/mysql/bin/ndb_mgmd -f /usr/local/src/mysql/etc/config.ini查看ndb_mgmd是否启动 # ps -ef | grep ndb_mgmd查看集群状态 # /usr/local/src/mysql/bin/ndb_mgm-- NDB Cluster -- Management Client -- # ndb_mgm> show关闭集群 # ndb_mgm> shutdown退出ndb-mgm # ndb_mgm> exit
4.2 启动数据节点
注:安装后第一次启动数据节点时要加上–initial参数,其它时候不要加,除非是在备份、恢复或配置变化后重启时。
初始化启动方式 # /usr/local/src/mysql/bin/ndbd --initial正常启动: # /usr/local/src/mysql/bin/ndbd
4.3 启动sql节点
启动 SQL 节点(等数据节点启动完后等待30秒后执行) # service mysqld start关闭 SQL 节点 # service mysqld stop重启 SQL 节点 # service mysqld restart检验mysql是否运行 # service mysqld status到此,mysql集群已启动完毕,但是要像本地单机的mysql数据库一样使用,还需要以下一步操作。
- mysql集群搭建部署
- MYSQL集群部署(一)--环境搭建
- redis集群部署搭建
- CDH集群搭建部署
- 理解docker部署springboot-搭建mysql主从集群(二)
- mysql 集群以及部署
- Mysql主从集群部署
- MYSQL集群部署(三)--集群部署
- Spark2.0.0集群搭建部署
- Kafka集群搭建01-Zookeeper 集群部署
- Kafka集群搭建02-Kafka 集群部署
- Storm集群搭建、storm集群部署
- MySQL Galera集群搭建
- mysql集群搭建
- MySql集群搭建笔记
- MySql集群搭建
- MySQL集群搭建详解
- MySQL集群搭建详解
- APP电量测试这样做。
- JAVA基础学习20171109-循环结构
- C语言程序-递归方式实现打印一个整数的每一位
- 快速排序分析
- pyqt 文件对话框记住上次选择
- mysql集群搭建部署
- [面试] BFS、Dijstra、SPFA、Floyd求最短路的比较
- ES6中箭头函数的作用
- 第一种操作数据库方式
- 《大型分布式网站架构》
- LDA主题模型
- 基于canal数据加工系统
- Spring Boot
- SpringMVC与Web解读(二):Dispatcher