Kubernetes Operator 实践 - MySQL容器化docker mysql pod-0 mysql pod-1 … … mysql pod-N NodeN Mysql Operator pod … … mysql Pod-T 0. 创建 CRD 3. 集群管理 2. 调度 pod Ceph MySQL-Operator 主流程 API Server Reflector DeltaFIFO Local Storage mysqlclusters.example.sogou spec: group: example.sogou names: kind: MySQLCluster plural: mysqlclusters 1. 创建 CRD • Clientset • Informers • Listers • DeepCopy code-generator MySQL 容器化系统架构 REST CLI Kubernetes docker mysql pod-0 mysql pod-1 … … mysql pod-N NodeN Mysql Operator pod … … mysql Pod-T 0. 创建 CRD 3. 集群管理 2. 调度 pod Ceph Kubernetes 的容器编排 • Pod 名稳定 • Pod 启动有序 • Pod 扩容安全 Deployment mysql-5f54tvkj80 码力 | 42 页 | 4.77 MB | 1 年前3
 Qcon北京2018--《MySQL的Docker容器化大规模实践》--王晓波VIP 告警分析 告警发送 指标画图 趋势预测 自定义脚本 Open API 数据校验 实例迁移 秒级监控诊断 慢日志分析 资源池调度 调度规则 容器调度 资源池 容器及实例创建 应用交付 资源申请 IO类型 配置 为了保证MySQL的高可用,需要在Docker容器分配时如何保障主从不在同一宿主机上。我们通过自研 Docker容器调度平台管理所有宿主机和容器,自定义 自定义Docker容器的分配算法。实现了MySQL的高密度,隔离 化,高可用化部署。 调度规则: 1.同一复制集群的实例在不同主机上。 2.优先分配CPU、内存、磁盘空间资源最空闲的主机。 3.根据IO需求调度容器创建在不同IO类型的主机。 4.申请新集群时,若IO要求高则按照宿主机的IO情况,优先选择IO最空闲的主机。 5.VIP集群必须主从端口一致,Proxy接入的集群端口无需一致。 6.VIP集群端口基于网段递增,Proxy集群端口基于IP递增 络消耗不会过载。另外目前我们已经在线下尝试结合Ovs+Dpdk的方案实现网络隔离。 容器的调度 •提供两种API: •Docker API的封装,用于创建,删除,修改。 •集群管理API,用于集群管理。 •Scheduler调度:选择最优节点创建容器。 •Agent:用于连接监控模块,上报系统运行状况。 GRPC API Schedule Filter Strategy Docker API0 码力 | 32 页 | 7.11 MB | 1 年前3
 MySQL高可用 - 多种方案meta-disk internal; } } 5.5.4 DRBD 的管理维护  创建 DRBD 资源 配置好 drbd 以后,就需要使用命令在 dbserver1 和 dbserver2 上创建配置 的 drbd 资源,使用如下命令: drbdadm create-md r0 # r0 为配置文件中定义的资源名  DRBD dbserver1 上创建存放数据库数据的目录:mkdir /drbd/dbdata c) 在 dbserver1 将配置文件放到 drbd 目录中: mv /etc/my.cnf /drbd/dbdata/ 删除 dbserver2 上的/etc/my.cnf,rm -f /etc/my.cnf 在 dbserver1 和 dbserver2 上执行如下命令创建软链接。 ln -s 包,因为 Centos 的默认源中没有 mmm 的安装 包,Epel 是企业版 Linux 附加软件包(Extra Packages for Enterprise Linux)的缩 写,是一个由特别兴趣小组创建、维护并管理的,针对红帽企业版 Linux(RHEL) 及其衍生发行版(比如 CentOS、Scientific Linux)的一个高质量附加软件包项目。 安装 epel: wget ftp://ftp0 码力 | 31 页 | 874.28 KB | 1 年前3
 使用 Docker 建立 MySQL 集群操作系统:Ubuntu server 64bit 14.04.1 Docker 版本 1.6.2 数据库:Mariadb 10.10 (Mariadb 是 MySQL 之父在 MySQL 被 Oracle 收购之后 创建的分支,性能上优于 MySQL 开源版本) 第一步 安装 Docker 对于 Ubuntu,建议直接联网安装 Docker 最新版本,apt-get 中版本较老。 首先获取安装脚本: wget https://get MYSQL_USER、MYSQL_PASSWORD、MYSQL_DATABASE 环境变量可以使容器在 运行时同时创建你所需要的数据库和带有全部权限的用户及其对应密码 6,设定 TERM 环境变量的值可以解决容器不能进入 mysql 控制台的问题。 对于不是自己建立的镜像,建立出来的容器未必能一次达到要求,建议是将 run 命令写成脚本,创建后使用 docker inspect <容器名> 仔细查看容器信息,关注镜像公开的端口和文件目录。如果发现达不到要求,使 apt-get install vim 这样我们才能在容器内修改配置文件。 还有一种方法,就是我们在主数据库容器中操作,之后,使用 docker commit <主数据库容器名> mariadb 这样再创建的容器就包含 vi 了。 3.3 为讲述方便,现在假设:我们有了连个数据库,mdb1 和 mdb2, mdb1 我们作为主 数据库,mdb2 作为从数据库。 首先修改主数据库: docker exec0 码力 | 3 页 | 103.32 KB | 1 年前3
 MySQL 数据库架构灾难恢复解决方案affiliates. MySQL InnoDB ClusterSet 配置命令 Copyright @ 2021 Oracle and/or its affiliates. 17 / 55 创建MySQL InnoDB Cluster Startwith setting up a regular MySQL InnoDB Cluster: mysqlsh> \c root@localhost:3331 addInstance('localhost:3333') mysqlsh> bru.status() 18 / 55 Copyright @ 2021 Oracle and/or its affiliates. 创建 ClusterSet mysqlsh> clusterset = bru.createClusterSet('clusterset') A new ClusterSet will be created0 码力 | 52 页 | 3.07 MB | 1 年前3
 Oracle 和 MySQL 性能优化感悟原理:修改isa指针 isa swizzling 特点:针对一个对象 原理:修改isa指针 基本步骤 应用场景 优点/缺点/坑 isa swizzling 特点:针对一个对象 1、(动态)创建目标类子类 2、(动态)为子类添加方法 3、修改目标对象的isa 原理 基本步骤 应用场景 优点/缺点/坑 isa swizzling+NSProxy 1、从NSProxy派生一个子类,0 码力 | 19 页 | 3.82 MB | 1 年前3
 MySQL 企业版功能介绍企业版并且受 Oracle 云的支持,提供同类先进的管理工具,可自动执行供应、修补、备份和恢复、 监视和调优等管理任务。多层安全可以保护您的数据免受外部攻击,同时帮助您实现合规性。自 助式供应可创建预配置的 MySQL 数据库,针对性能进行优化;而自动扩展能够让用户弹性扩展 计算资源、存储资源和 MySQL 副本。 MySQL 数据库 MySQL 凭借经济高效、可靠、高性能且可扩展的0 码力 | 6 页 | 509.78 KB | 1 年前3
共 7 条
- 1
 













