mysql集群环境搭建
1 概述
MySQL Cluster 是MySQL 适合于分布式计算环境的高实用、可拓展、高性能、高冗余版本,其研发设计的初衷就是要满足许多行业里的最严酷应用要求,这些应用中经常要求数据库运行的可靠性要达到99.999%。MySQL Cluster允许在无共享的系统中部署“内存中”数据库集群,通过无共享体系结构,系统能够使用廉价的硬件,而且对软硬件无特殊要求。此外,由于每个组件有自己的内存和磁盘,不存在单点故障。
实际上,MySQL集群是把一个叫做NDB的内存集群存储引擎集成与标准的MySQL服务器集成。它包含一组计算机,每个都跑一个或者多个进程,这可能包括一个MySQL服务器,一个数据节点,一个管理服务器和一个专有的一个数据访问程序。
MySQL Cluster能够使用多种故障切换和负载平衡选项配置NDB存储引擎,但在Cluster 级别上的存储引擎上做这个最简单。以下为MySQL集群结构关系图,
MySQL从结构看,由3类节点(计算机或进程)组成,分别是:
管理节点:用于给整个集群其他节点提供配置、管理、仲裁等功能。理论上通过一台服务器提供服务就可以了。
数据节点:MySQL Cluster的核心,存储数据、日志,提供数据的各种管理服务。2个以上 时就能实现集群的高可用保证,DB节点增加时,集群的处理速度会变慢。
SQL节点(API):用于访问MySQL Cluster数据,提供对外应用服务。增加 API 节点会提高整个集群的并发访问速度和整体的吞吐量,该节点 可以部署在Web应用服务器上,也可以部署在专用的服务器上,也开以和DB部署在 同一台服务器上。
2 NDB引擎
MySQL Cluster 使用了一个专用的基于内存的存储引擎——NDB引擎,这样做的好处是速度快, 没有磁盘I/O的瓶颈,但是由于是基于内存的,所以数据库的规模受系统总内存的限制, 如果运行NDB的MySQL服务器一定要内存够大,比如4G, 8G, 甚至16G。NDB引擎是分布式的,它可以配置在多台服务器上来实现数据的可靠性和扩展性,理论上 通过配置2台NDB的存储节点就能实现整个数据库集群的冗余性和解决单点故障问题。
2.1 缺陷
基于内存,数据库的规模受集群总内存的大小限制
基于内存,断电后数据可能会有数据丢失,这点还需要通过测试验证。
多个节点通过网络实现通讯和数据同步、查询等操作,因此整体性受网络速度影响,
因此速度也比较慢
2.2 优点
多个节点之间可以分布在不同的地理位置,因此也是一个实现分布式数据库的方案。
扩展性很好,增加节点即可实现数据库集群的扩展。
冗余性很好,多个节点上都有完整的数据库数据,因此任何一个节点宕机都不会造成服务中断。
实现高可用性的成本比较低,不象传统的高可用方案一样需要共享的存储设备和专用的软件才能实现,NDB 只要有足够的内存就能实现。
3 集群搭建及测试
3.1 配置规划
管理(MGM) 和管理客户端节点1:192.168.1.110 master
数据(NDBD)和SQL节点2:192.168.56.102 slave1
数据(NDBD)和SQL节点3: 192.168.56.103 vm3.sysu
3.2安装 前期准备
在三台服务器上配置好hosts文件
在三天服务器上都安装好MySQL-Cluster-server-gpl-7.3.6-2.el6.x86_64.rpm
在数据节点上创建系统账号
确认网络畅通
确认iptables设置
确认Selinux设置
依赖环境
python 2.6+
paramiko 1.7.7.1 or newer
pycrypto 2.6 or newer
请自行下载paramiko和pycrypto或者yum进行安装
地址https://pypi.python.org/pypi/paramiko/1.10.6
https://pypi.python.org/pypi/pycrypto
解压 tar -xvf paramiko-1.10.6.tar.gz
解压后会看到 setup.py 这个脚本
运行 python setup.py install
解压tar -xvf pycrypto-2.6.1.tar.gz
解压后悔看到setup.py这个脚本
运行python setup.py intall
如果出现 error: command 'gcc' failed with exit status 1
这说明缺少python-devel包 通过yum安装 yum install gcc python-devel
安装完毕后,重新执行python setup.py install
以上准备工作做好后,执行ndb_setup.py
这是会弹出浏览器,进去浏览器进行配置
hostlist填写你3台机器的hostname
然后点next,检查通过后,会显示3台机器的配置等情况。然后点next配置sql节点和datanode节点
转载于:https://blog.51cto.com/574760227/1656046
mysql集群环境搭建相关推荐
- mysql集群多管理节点_项目进阶 之 集群环境搭建(三)多管理节点MySQL集群
多管理节点MySQL的配置很easy,仅须要改动之前的博文中提高的三种节点的三个地方. 1)改动管理节点配置 打开管理节点C:\mysql\bin下的config.ini文件,将当中ndb_mgmd的 ...
- 学习笔记之-Kubernetes(K8S)介绍,集群环境搭建,Pod详解,Pod控制器详解,Service详解,数据存储,安全认证,DashBoard
笔记来源于观看黑马程序员Kubernetes(K8S)教程 第一章 kubernetes介绍 应用部署方式演变 在部署应用程序的方式上,主要经历了三个时代: 传统部署:互联网早期,会直接将应用程序部署 ...
- gitee如何搭建mysql_MySQL高可用架构集群环境搭建手册.md
# MySQL高可用架构集群环境搭建手册 ## 环境准备 ### 机器规划 | 节点 | IP | 配置 | 角色 | | -------- | -------------- | ---- | --- ...
- 2W 字详解 Redis 集群环境搭建实践
点击上方 "终端研发部"关注, 星标或置顶一起成长 本文是Redis集群学习的实践总结(基于Redis 6.0+),详细介绍逐步搭建Redis集群环境的过程,并完成集群伸缩的实践. ...
- 【Hadoop生态圈】1.Hadoop入门教程及集群环境搭建
文章目录 1.简介 2.环境准备 3.安装hadoop 3.修改Hadoop配置文件 3.1.hadoop-env.sh配置 3.2.core-site.xml配置 3.3.hdfs-site.xml ...
- 大数据介绍、集群环境搭建、Hadoop介绍、HDFS入门介绍
大数据介绍.集群环境搭建.Hadoop介绍.HDFS入门介绍 文章目录 大数据介绍.集群环境搭建.Hadoop介绍.HDFS入门介绍 1.课前资料 2.课程整体介绍 3.大数据介绍 3.1 什么是大数 ...
- 2W 字详解 Redis 6.0 集群环境搭建实践
原文链接:https://www.cnblogs.com/hueyxu/p/13884800.html 本文是Redis集群学习的实践总结(基于Redis 6.0+),详细介绍逐步搭建Redis集群环 ...
- Kafka:ZK+Kafka+Spark Streaming集群环境搭建(九)安装kafka_2.11-1.1.0
如何搭建配置centos虚拟机请参考<Kafka:ZK+Kafka+Spark Streaming集群环境搭建(一)VMW安装四台CentOS,并实现本机与它们能交互,虚拟机内部实现可以上网.& ...
- hadoop集群环境搭建准备工作
一定要注意hadoop和linux系统的位数一定要相同,就是说如果hadoop是32位的,linux系统也一定要安装32位的. 准备工作: 1 首先在VMware中建立6台虚拟机(配置默认即可).这是 ...
最新文章
- Coinbase调查发现,BCH上市前没有发生不当交易
- Ubuntu下eclipse indigo版在线安装hibernate插件
- python如何安装wordcloud_不知如何利用Python中wordcloud的安装和使用?这里手把手教你...
- 直接使用汇编编写 .NET Standard 库
- 老百姓需要这样的智慧城市
- Java集合Collection接口中的常用方法演示
- 基于OMCS的远程桌面实现远程控制地面站
- 计算机系统基础栈,计算机系统基础 (一): 程序的表示, 转换与链接 (第七周小测验)...
- 开发机至少要有16G内存
- java爬虫爬取b站视频分享iframe代码并保存10000条数据到数据库
- python oserror 22_Python3 (Win10) 打开文件报错OSError: [Errno 22]
- JAVA运行内存的设置
- 【文心一言】广告文案、演讲稿与请假条自动生成
- android 选择联系人右侧首字母显示
- 松散架构(Loosely Coupled Architecture)
- jquery 判断是否有类名_JQuery 基础(一)
- 首台android手机,黑莓首台Android系统曲面屏手机Priv 真机和视频曝光
- 保姆级redis6全流程学习和redis秒杀全流程
- 课件如何PDF编辑和转换?用迅读PDF大师,简单易上手
- jrtplib库使用简解