Kubernetes Operator 实践 - MySQL容器化Kubernetes Operator 实践 —— MySQL 容器化 刘林 搜狗资深工程师 关于我 搜狗商业平台研发部 资深开发工程师 l 主要从事商业平台研发工作,在构建高性能、高可用大规模 系统方面有丰富的实践经验 l 目前专注于云计算、DevOps 等相关领域,负责搜狗商业云 平台的设计研发工作 刘林 1. 背景介绍 2. Operator 的基本原理 3. MySQL BizNginx (Load Balancer) Kafka Zookeeper etcd AppEngine(Resin/Tomcat…) 统一服 务管理 Kubernetes 模板管理 自动化测试 部署中心 服务发现 灰度发布 监控中心 日志系统 PaaS SaaS 编 译 发 布 授 权 监 控 IaaS Registry SOA服务框架 DevOps 测 试 Cluster2 Node Node Node Node 商业云平台 BizCloud • 弹性伸缩能力不足 • 机器资源利用率不高 • 服务管理复杂 问题 有状态服务的需求越来越多 有状态服务容器化 1. 背景介绍 2. Operator 的基本原理 3. MySQL Operator 设计实践 4. 小结 无状态服务 服务调度 有状态服务集群 服务调度 状态保存 集群管理 有状态服务0 码力 | 42 页 | 4.77 MB | 1 年前3
Qcon北京2018--《MySQL的Docker容器化大规模实践》--王晓波《MySQL 容器化部署实践》 演讲者/王晓波 背景 ■ 同程旅游早期的数据库都以单库的MySQL。 ■ MySQL的单库,导致TPS最终还是会成为一个瓶颈。 ■ MySQL+DB中间件解决水平拆分问题。 ■ MySQL水平拆分的引入会使数据库实例数量大幅上升,传统运维手段维护成本高,交付能力差。 MySQL数据库为何要Docker化 1.MySQL数据库迅速爆炸式增长后,服务器规模不断增大,快速部署是个问题。 是个问题。 2.随着业务的发展,扩容数据库的不方便不快捷,也是个问题。 3.大量数据量小的数据库系统也单独部署在物理机,浪费问题突出。 4.DBA的数据库自动化标准化运维的需求。 5.Docker在同程的大规模使用,应用部署环境100%容器化,有Docker丰富的经验 。 让数据库的部署点单化开启 2核4G 4核4G 4核8G 8核8G 8核16G 16核16G 16核64G 32核64G DB架构 硬件选型 机房 A机房 B机房 C机房 D机房 容器化之后的MySQL就是一个私有DB云 主 从 集 群 创 建 分 片 集 群 创 建 集 成 高 可 用 方 案 巨 细 无 遗 的 监 控 项 精 美 的 图 形 展 示 便 捷 的 告 警 管 理 慢 日 志 分 析 及 查 看 自 动 化 备 份 资 源 池 管 理 高 可 用 切 换 集 群 节 点0 码力 | 32 页 | 7.11 MB | 1 年前3
使用 Docker 建立 MySQL 集群yum install docker-io 第二步 运行 Mariadb 容器 首先要将数据镜像拉下来 docker pull mariadb:latest 注意,如果不加:latest 标签,docker 会把所有的镜像版本都拉下来。 然后我们就可以启动镜像了,参数方面需要注意的有一下几点: 1,-name <给容器取个好记的名称> 2,-e MYSQL_ROOT_PASSWORD =‘<给数据库一个 MYSQL_DATABASE 环境变量可以使容器在 运行时同时创建你所需要的数据库和带有全部权限的用户及其对应密码 6,设定 TERM 环境变量的值可以解决容器不能进入 mysql 控制台的问题。 对于不是自己建立的镜像,建立出来的容器未必能一次达到要求,建议是将 run 命令写成脚本,创建后使用 docker inspect <容器名> 仔细查看容器信息,关注镜像公开的端口和文件目录。如果发现达不到要求,使 不到要求,使 用 docker rm -f <容器名> 删除容器后修改 run 脚本再次运行,直到满意为止。 下面是我的 run 命令: docker run --name mdb1 \ -p 13306:3306 \ -v /home/wonders/docker_mdb1_data:/var/lib/mysql \ -e MYSQL_ROOT_PASSWORD=wondersgroup \ -e0 码力 | 3 页 | 103.32 KB | 1 年前3
MySQL 8.0.17 调优指南(openEuler 20.09)MySQL是一种关系数据库管理系统,关系数据库将数据保存在不同的表中,而不是将 所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。 MySQL所使用的SQL语言是用于访问数据库的最常用标准化语言。MySQL软件采用了 双授权政策,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其 是开放源码这一特点,一般中小型网站的开发都选择 MySQL作为网站数据库。 1.2 调优原则 BIOS配置 2.1 BIOS 配置 目的 对于不同的硬件设备,通过在BIOS中设置一些高级选项,可以有效提升服务器性能。 方法 步骤1 关闭SMMU。 说明 此优化项只在非虚拟化场景使用,在虚拟化场景,则开启SMMU。 1. 重启服务器过程中,单击Delete键进入BIOS,选择“Advanced > MISC Config”,单击Enter键进入。 2. 将“Support Smmu”设置为“Disable”0 码力 | 11 页 | 223.31 KB | 1 年前3
MySQL 企业版功能介绍Query Analyzer 查明影响数据库性能的 SQL 代码 使用超过 225 个 MySQL 顾问程序实施 MySQL 优秀实践 通过 MySQL Workbench 以可视化方式设计、开发、管理和迁移数据库 使用 MySQL Workbench 迁移向导将数据库迁移至 MySQL Oracle MySQL 服务云 Oracle MySQL 云服务提供了一个安全、经济高效的企业级 Workbench MySQL Workbench 是一个统一的可视化开发和管理平台,该平台提供了许多高级工具,可支持数 据库建模和设计、查询开发和测试、服务器配置和监视、用户和安全管理、备份和恢复自动化、 审计数据检查以及向导驱动的数据库迁移。 MySQL Workbench 提供了数据建模、SQL 开发、管理和迁移工具。 5 ORACLE 产品介绍0 码力 | 6 页 | 509.78 KB | 1 年前3
MySQL 数据库架构灾难恢复解决方案和专家带来了大量工作,他 们花时间自动化和集成他们的定制架构 Copyright @ 2021 Oracle and/or its affiliates. 8 / 55 Present - Solutions! 2016 - M ySQL InnoDB Cluster MySQL 组复制:自动成员身份更改、网络分区处理、一致性... MySQL Shell 提供强大的界面,有助于自动化和集成所有组件0 码力 | 52 页 | 3.07 MB | 1 年前3
如何用 MySQL 构建全方位高可用应用自动分化散式的回复,冲突处理,群组 成员管理 和分散式协议.” • 能为使用者做什么? – 免于处理资料库的故障移转. – 提供容错能力. – 使我们能设定在群组中所有的资料库都能更新. – 自动化群组设定 (在宕机时,失败时,和重新连线时的处理). – 提供高可用复制的资料库. – 自动分发协调(确保不会有脑裂和讯息丢失). – 较少管理工作负担, 代表更大的生产力! 19 2017/4/16 开发者语言和框架? SQL 还是 NoSQL? 4/16/2017 版权所有 2015,Oracle 和/或其附属公司。保留所有权利。 33 增强开发运维人员的敏捷性, 减少停机时间 自动化管理 • 启动/停止节点或整个 群集 • 联机扩展 • 联机重新配置 • 联机升级 • 联机备份和恢复 • 导入正在运行的群集 自我修复 • 节点监视 • 自动恢复扩展到 SQL + 管理节点0 码力 | 40 页 | 2.19 MB | 1 年前3
MySQL高可用 - 多种方案状态 watch -n 1 cat /proc/drbd /etc/init.d/drbd status 以上两种方式都可以查看 drbd 的状态 设置当前节点为主节点,并进行格式化和挂载 drbdadm -- --overwrite-data-of-peer primary all mkfs.ext3 /dev/drbd0 mkdir /drbd mount /dev/drbd00 码力 | 31 页 | 874.28 KB | 1 年前3
共 8 条
- 1













