mysql集群

kubernetes部署NFS持久存储

♀尐吖头ヾ 提交于 2019-12-16 05:34:23
kubernetes部署NFS持久存储 NFS是网络文件系统Network File System的缩写,NFS服务器可以让PC将网络中的NFS服务器共享的目录挂载到本地的文件系统中,而在本地的系统中来看,那个远程主机的目录就好像是自己的一个磁盘分区一样。 kubernetes使用NFS共享存储有两种方式: 1.手动方式静态创建所需要的PV和PVC。 2.通过创建PVC动态地创建对应PV,无需手动创建PV。 下面对这两种方式进行配置并进行演示。 搭建NFS服务器 k8s集群准备,以这篇文章为例: https://blog.csdn.net/networken/article/details/84991940 这里作为测试,临时在master节点上部署NFS服务器。 #master节点安装nfs yum - y install nfs - utils #创建nfs目录 mkdir - p / nfs /data/ #修改权限 chmod - R 777 / nfs / data #编辑export文件 vim / etc / exports / nfs / data * ( rw , no_root_squash , sync ) #配置生效 exportfs - r #查看生效 exportfs #启动rpcbind、nfs服务 systemctl restart rpcbind

7 MySQL的维护、性能优化

不想你离开。 提交于 2019-12-16 03:14:56
《MySQL实战45讲》 Rows_examined:https://blog.csdn.net/weixin_34332905/article/details/90683568 恢复数据库:https://blog.51cto.com/laobaiv1/1960846 性能优化:https://www.cnblogs.com/angelica-duhurica/p/11303281.html 1 MySQL有哪些“饮鸩止渴”提高性能的方法 1.1 短连接风暴 解决: 方法1 先处理掉那些占着连接但是不工作的线程。 建议是处理掉查询任务之类的连接,插入的就不处理,避免数据库状态有损 方法2 减少连接过程的消耗。 让数据库跳过权限验证阶段 1.2 慢查询性能问题 在MySQL中,会引发性能问题的慢查询,有以下三种可能: 索引没有设计好; SQL语句没写好; MySQL选错了索引。 1.2.1 索引没有设计好 ⼀般通过紧急创建索引来解决 MySQL 5.6版本以后,创建索引都支持Online DDL了,对于那种高峰期数据库已经被这个语句打挂了的情况,最高效的做法就是直接执行alter table 语句。 比较理想的是能够在备库先执行; 假设现在的服务是⼀主⼀备:主库A、备库B,这个方案的大致流程是这样的: 在备库B上执行 set sql_log_bin=off ,也就是不写binlog

mysql主从复制原理及实践

时光毁灭记忆、已成空白 提交于 2019-12-15 14:33:34
Mysql主从复制原理及实践 系统小说网 wap.kuwx.net mysql主从框架 MySQL主从架构是MySQL集群中最基本也是最常用的一种架构部署,能够满足很多业务需求,常见的有一主一从或者一主多从。可以防止单一主机的数据丢失,提高数据的安全性,务上可以实现读写分离,可以把一些读操作在从服务器上执行,减小主服务器的负担。 主从复制原理 mysql主从复制是指数据可以从一个mysql服务器节点复制到一台或者多台mysql服务器上,多个从服务器采用异步的方式更新主数据库的变化。MySQL主从同步是基于从库对主库binlog文件的增量订阅来实现,更新的事件类型写入到主库的binlog文件中,日志用于记录所有更新了数据或者已经潜在更新了数据的所有语句,以“事件”的形式保存,它描述数据更改,它是以二进制的形式保存在磁盘中。以.000001的方式结尾,binlog文件大小和数字会不断增加,当mysql重启时,数字会不断递增。 主从复制的原理图: 对于每一个主从连接,都需要三个进程来完成,master(binlog dump thread)、slave(I/O thread 、SQL thread)。 主节点会为每一个当前连接的从节点建一个binary log dump 进程 从节点上执行start slave命令之后,从节点会创建一个I/O线程用来连接主节点,请求主库中更新的bin

MySQL集群(PXC)

别说谁变了你拦得住时间么 提交于 2019-12-15 01:03:41
一、目标和方式 1.目标:    1)大型互联网应用的架构设计和业务处理   2)掌握PXC集群MySQL方案的原理   3)掌握PXC集群的强一致性   4)掌握PXC集群的高可用方案 2.分析方式 :由浅入深,循序渐进;案例有小到大,逐步扩展 二、硬件环境需求 1.win /Linux/ MacOS 2.Docker虚拟机 3.内存8GB以上 三、单节点数据库的弊端 1.大型互联网程序用户群里庞大,所以架构必须要特殊设计 2.单节点的数据库无法满足性能上的要求,就像校园网查成绩的时候,如果1万人同时查,你可能拿到就是一个白屏,无论你是收费的还是免费的数据库,单节点都满足不了这种并发需求 3.单节点的数据库没有冗余设计,无法满足高可用,一旦这个机器出现问题,没有其他节点的数据库顶替,那网站将无法正常访问 单节点数据库测试,5000个连接,5000个并发查询,平均就1个连接1个查询,安装好数据库,配置好环境变量,[mysqld]下面配置最大连接量为6000(max_connections=6000),执行下面的命令: mysqlslap -hlocalhost -uroot -pabc123456 -P3306 --concurrency=5000 --iterations=1 --auto-generate-sql --auto-generate-sql-load-type

MySQL架构——mmm部署实例

风流意气都作罢 提交于 2019-12-14 23:21:10
mmm架构的来源 众所周知,MySQL自身提供了主从复制,然后可以很轻松实现master-master双向复制,同时再为其中一个Master节点搭建一个Slave库。这样就实现了MySQL-MMM架构的基础:master1和master2之间双向复制,同时Master1和Slave1之间是主从复制。 这样整个体系中存在两个Master,正常情况下只有一个master对外提供写服务。如果对外提供服务的master意外宕机了,这是MySQL本身并不具备failover切换的能力,尽管集群中仍然有一个正常的master节点,但应用仍不可用。mysql-mmm就是为了解决这个问题诞生的。 mmm架构的原理 MySQL-MMM是Master-Master Replication Manager for MySQL(mysql主主复制管理器)的简称,是Google的开源项目(Perl脚本),主要用来监控mysql主主复制并做失败转移 其原理是将真实数据库节点的IP(RIP)映射为虚拟IP(VIP)集,在这个虚拟的IP集中,有一个专用于write的IP,多个用于read的IP,这个用于Write的VIP映射着数据库集群中的两台master的真实IP(RIP),以此来实现Failover的切换,其他read的VIP可以用来均衡读(balance)。 mmm机构优缺点 优点

k8s之volumes持久化存储

折月煮酒 提交于 2019-12-14 21:37:28
k8s之数据持久化 kubernetes存储卷: 我们知道默认情况下容器的数据都是非持久化的,在容器销毁以后数据也跟着丢失,所以docker提供了volume机制以便将数据持久化存储。类似的,k8s提供了更强大的volume机制和丰富的插件,解决了容器数据持久化和容器间共享数据的问题。 volume: 我们经常会说:容器和 Pod 是短暂的。 其含义是它们的生命周期可能很短,会被频繁地销毁和创建。容器销毁时,保存在容器内部文件系统中的数据都会被清除。为了持久化保存容器的数据,可以使用k8s volume。 Volume 的生命周期独立于容器,Pod 中的容器可能被销毁和重建,但 Volume 会被保留。 k8s支持的volume类型有emptydir,hostpath,persistentVolumeClaim,gcePersistentDisk,awsElasticBlockStore,nfs,iscsi,gitRepo,secret等等,完整列表及详细文档可参考 http://docs.kubernetes.org.cn/429.html 。 在本文中主要实践以下几种volume类型: 1,EmptyDir(临时存储): emptyDir 是最基础的 Volume 类型。正如其名字所示,一个 emptyDir Volume 是 Host 上的一个空目录

MySQL高可用架构之MHA

空扰寡人 提交于 2019-12-14 18:15:36
一、MHA介绍 MHA(Master High Availability)目前在MySQL高可用方面是一个相对成熟的解决方案,它由日本DeNA公司youshimaton(现就职于Facebook公司)开发,是一套优秀的作为MySQL高可用性环境下故障切换和主从提升的高可用软件。在MySQL故障切换过程中,MHA能做到在0~30秒之内自动完成数据库的故障切换操作,并且在进行故障切换的过程中,MHA能在最大程度上保证数据的一致性,以达到真正意义上的高可用。 MHA还提供在线主库切换的功能,能够安全地切换当前运行的主库到一个新的主库中(通过将从库提升为主库),大概0.5-2秒内即可完成。 自动故障检测和自动故障转移 MHA能够在一个已经存在的复制环境中监控MySQL,当检测到Master故障后能够实现自动故障转移,通过鉴定出最“新”的Salve的relay log,并将其应用到所有的Slave,这样MHA就能够保证各个slave之间的数据一致性,即使有些slave在主库崩溃时还没有收到最新的relay log事件。一个slave节点能否成为候选的主节点可通过在配置文件中配置它的优先级。由于master能够保证各个slave之间的数据一致性,所以所有的slave节点都有希望成为主节点。在通常的replication环境中由于复制中断而极容易产生的数据一致性问题,在MHA中将不会发生。

mysql主从复制原理及实践

北城余情 提交于 2019-12-14 10:58:56
Mysql主从复制原理及实践 mysql主从框架 MySQL主从架构是MySQL集群中最基本也是最常用的一种架构部署,能够满足很多业务需求,常见的有一主一从或者一主多从。可以防止单一主机的数据丢失,提高数据的安全性,务上可以实现读写分离,可以把一些读操作在从服务器上执行,减小主服务器的负担。 主从复制原理 mysql主从复制是指数据可以从一个mysql服务器节点复制到一台或者多台mysql服务器上,多个从服务器采用异步的方式更新主数据库的变化。MySQL主从同步是基于从库对主库binlog文件的增量订阅来实现,更新的事件类型写入到主库的binlog文件中,日志用于记录所有更新了数据或者已经潜在更新了数据的所有语句,以“事件”的形式保存,它描述数据更改,它是以二进制的形式保存在磁盘中。以.000001的方式结尾,binlog文件大小和数字会不断增加,当mysql重启时,数字会不断递增。 主从复制的原理图: 对于每一个主从连接,都需要三个进程来完成,master(binlog dump thread)、slave(I/O thread 、SQL thread)。 主节点会为每一个当前连接的从节点建一个binary log dump 进程 从节点上执行start slave命令之后,从节点会创建一个I/O线程用来连接主节点,请求主库中更新的bin-log。I

索引很难么?带你从头到尾捋一遍MySQL索引结构,不信你学不会!

落爺英雄遲暮 提交于 2019-12-14 09:32:08
前言 Hello我又来了,快年底了,作为一个有抱负的码农,我想给自己攒一个年终总结。自上上篇写了 手动搭建Redis集群和MySQL主从同步(非Docker) 和上篇写了 动手实现MySQL读写分离and故障转移 之后,索性这次把数据库中最核心的也是最难搞懂的内容,也就是索引,分享给大家。 这篇博客我会谈谈对于索引结构我自己的看法,以及分享如何从零开始一层一层向上最终理解索引结构。 从一个简单的表开始 create table user( id int primary key, age int, height int, weight int, name varchar(32) )engine = innoDb; 相信只要入门数据库的同学都可以理解这个语句,我们也将从这个最简单的表开始,一步步地理解MySQL的索引结构。 首先,我们往这个表中插入一些数据。 INSERT INTO user(id,age,height,weight,name)VALUES(2,1,2,7,'小吉'); INSERT INTO user(id,age,height,weight,name)VALUES(5,2,1,8,'小尼'); INSERT INTO user(id,age,height,weight,name)VALUES(1,4,3,1,'小泰'); INSERT INTO user(id

hadoop + spark+ hive 集群搭建(apache版本)

拟墨画扇 提交于 2019-12-12 15:04:04
0. 引言 hadoop 集群,初学者顺利将它搭起来,肯定要经过很多的坑。经过一个星期的折腾,我总算将集群正常跑起来了,所以,想将集群搭建的过程整理记录,分享出来,让大家作一个参考。 由于搭建过程比较漫长,所以,这篇文章应该也会很长,希望大家能耐心看完。 1. 集群环境和版本说明 3台CentOS 7.4 的服务器,4CPU,8G内存; jdk 1.8 hadoop 2.7.7 spark 2.3.0 hive 2.1.1 节点和主机hostname对应关系: 主节点: 172.18.206.224 nn1 Namenode and YARN Resourcemanage 从节点1: 172.18.206.228 dn1 Datanode and YAR  Nodemanager 从节点2: 172.18.206.229 dn2 Datanode and YARN Nodemanager 为hadoop集群,创建一个non-root 用户,我使用的用户名是 hadoop。安装目录统一在hadoop用户的家目录 /data/hadoop 下。 2. hadoop 集群安装 2.1 安装 jdk 1.8版本 由于 hadoop 集群需要java 环境的支持,所以,在安装集群之前,首先确认你的系统是否已经安装了jdk,检查如下: [root@ND-ES-3 ~]# java