探索GreatADM:图形化部署MGR的全新体验
摘要:
在DBA的日常工作中,快速部署数据库高可用架构,且标准化地入网部署数据库是一项重要的基础任务。本文将介绍常见的部署MGR的方式,并重点介绍万里数据库的GreatADM数据库管理平台进行图形化、可视化、标准化的部署过程,以提高交付效率和质量,给DBA提供一种全新的体验。(本文阅读大约需要4-6分钟)
引言
常见的数据库入网交付的方式和各自优缺点
方式一:手动部署
这是最基本的部署方式,需要手动在每个节点上安装、配置cnf和管理各节点,命令交互太多。虽然借助社区版的 MySQL Shell 操作相对简单,但对于大规模部署,手动操作可能耗费大量时间和人力,并且容易出现配置错误和一致性问题。
方式二:批量管理工具
使用配置管理工具(如Ansible、Puppet、Chef等)可以实现自动化的数据库安装部署,来解决批量交付时重复的劳动。通过编写配置文件和定义任务,配置管理工具可以自动执行安装、配置和启动MGR的步骤。这种方式可以提高部署效率并确保一致性,但对于初学者来说,配置管理工具的学习和配置可能需要一定的时间和学习成本。
方式三:GreatADM数据库管理平台
也是今天要介绍的主角。GreatADM提供了图形化、可视化、标准化、流程化的部署MGR的能力,极大地简化了部署过程。说到这里大家可能脑子有诸多疑问:
-
GreatADM是什么?
-
都有哪些功能?
-
能解决什么问题?
-
支不支持国产操作系统?
-
怎么部署数据库流程是什么?
-
安装平台麻烦吗?哪里可以下载到?
我暂且先只回复第一个问题,其他的大家可在文章中或者GreatSQL社区历史文章中发现。 技术干货 | 从DBA视角看数据库运维管理平台
GreatADM是什么?GreatADM(GreatDB Administrator Platform )
是一款万里数据库管理平台。支持基于GreatDB 、GreatSQL、MySQL多种集中式方案全生命周期的管理的软件。接下来我们就来动手边实践边看。
Let's go
文章整体内容,围绕如何图形化交付MGR,以及交付之后GreatADM都有哪些功能,快速了解如何上手,以及个人觉得使用的几个功能点。
一、GreatADM自身的安装
二、图形化部署MGR的流程
三、作为DBA个人觉得不错的3个点
四、总结回顾
一、GreatADM数据库管理平台的快速安装
1.安装和配置GreatADM
首先解压软件包
拿到GreatADM软件包为一个zip的压缩包,解压之后得到一个adm_install.sh
的shell安装脚本和一个GreatADM的主程序包
。
GreatADM支持在多个国产操作系统安装部署,如麒麟、欧拉、龙蜥、统信、BClinux等。
2.配置安装脚本
这里需要配置安装的主机IP,以及WEB访问GreatADM的端口和主机的操作系统用户名和密码,本次用是root,也可以使用sudo user密码等信息。
命令:vim adm_install.sh
a)、ADM_IP_ARRAY=(172.17.139.50 )
如果是高可用安装,此处可以配置多个IP地址,GreatADM支持平台服务高可用配置和故障自切换。支持直接安装部署在远程主机上。
b)、ADM_WEB_PORT=80
默认浏览器访问管理页面端口,可按需自定义
c)、SSH_USER=root SSH_PASSWORD=abc123
本地安装是将GreatADM平台单机部署。如果配置双机高可用,则需要先行配置双机之间的ssh互信认证,然后调整认证方式,填写公钥文件路径即可
SSH_AUTH=pubkey SSH_KEY_FILE=/root/.ssh/id_ras
平台元数据库配置,默认无需配置,内置sqlite3作为基础元数据的数据库,轻量且易用,一般建议支持20台主机以下私有规模。
如果超过20台主机,可考虑接入ADM自身部署的数据库中,目前简单测试了一下在16C 16G 500G/SSD
配置下,使用GreatSQL作为元数据库,创建和纳管了40多套万里GreatRouter高可用集群、主从、MGR等多类架构大约130+台主机,无压力。
3.执行安装
命令: sh adm_install.sh install
安装完成之后,可通过登录http://172.17.139.50:80
来访问GreatADM的管理页面
4.登录图形界面
首次登录GreatADM,需要修改默认的初始密码,用户账号可以是邮箱地址、可以是用户名。
默认平台超管为:用户名adm
和adm@greatdb.com
两种可以登录,如下
二、使用GreatADM部署GreatSQL MGR
GreatADM管理平台默认对MySQL数据库架构的4大分类,并且支持用户已自建的MySQL5.7/8.0的统一纳管到平台和复制拓扑自动探测和拓扑绘制。支持GreatDB、GreatSQL、Percona Server、MySQL类型的数据库类型。
A、GreatDBRouter三节点:
对应万里GreatDB数据库企业版高可用解决方案
B、PAXOS高可用复制:
支持MGR、以及GreatSQL MGR+VIP方案
C、主备多副本:
传统的主从复制、双主、双主一从、多主多从等方案
D、单实例节点:
提供批量交付多个单点场景,以及实例的一键批量诊断、实例巡检报告生成等服务,同时支持单节点升级为其他高可用架构。
接来下我们开始安装MGR,本次我们选用GreatSQL版本来部署MGR,GreatSQL是适用于金融级应用的国内自主开源数据库,可以作为MySQL或Percona Server的可选替换,用于线上生产环境,且完全免费并兼容MySQL或Percona Server。
1.添加主机信息
自动识别操作系统版本和CPU平台信息,可以按需增加机房、机架、机柜等信息。GreatADM同时支持资源池方式的数据库部署方式,可将多台物理主机的cpu、内存、磁盘标准化为一个计算资源池,通过从资源池中按需分配数据库实例的算力,以提高物理主机的资源利用效率,这点倒是挺不错。这个我们下期再做介绍。
2.调整参数模板、确认软件包
查看内置的参数模板
当然用户可以按需上传参数,可以绑定项目名称,作为私有项目独享,也可以作为公共模板多项目共用
本次我们调整内置的参数模板,同时可按需【添加参数】暂时调整如下2项
innodb_buffer_pool_size、innodb_buffer_pool_instances
这里的这个参数模板,以及参数搜索框不错,可以快速模糊匹配参数
上传数据库二进制包,自动识别软件包的属性信息。
这里我们上传了GreatSQL社区版本,还有XtraBackup备份工具。当然GreatADM在安装时,会自动搜索同目录路径是否存在数据库包,如果有的话会自动识别加载。这点确实省去不少通过web浏览器上传软件包的时间。到此,我们部署数据库的必要条件都已经具备,下一步准备执行MGR的图形化安装。
3.数据库安装部署
选择Paxos高可用部署方案,因MGR采用Paxos协议,所以外部我们选择Paxos架构,物理主机部署方式进行。选择对应的数据库版本、备份工具、参数模板、并填写默认的数据库名称、管理员账号密码等。
进行三阶段流程:
1、基础配置
2、系统预检查
3、执行交付部署
【安装前配置】如下:
【主机预检查】,检查项如主机时区时间、swap交换分区、安全策略selinux、分区挂载、系统资源限制、内核参数等共计近20项预检内容,均为历史经验积累的转化。
当不满足预检内置条件时,会弹框提醒,按级别分为必检项(必须满足前置条件项),次要,仅提醒三类。
【交付部署】,同样按标准流程进行交付,且记录各阶段的交付日志,以便问题溯源和历史记录翻阅。
【完成交付】之后,跳转到数据库管理拓扑主页
到此我们就完成了MGR的图形化交付,并可直观的看到拓扑状态,和对应的事务执行情况等信息。感觉怎么样?
三、DBA运维中个人觉得实用的3点
1、拓扑绘制和可操作性
【拓扑作用】DBA可以直接基于拓扑图查看当前数据库节点运行状态、复制延迟等待、实例角色信息,同时可以基于拓扑做MGR的节点切换,服务器启停等操作,直观的拓扑结构,和状态信息,以及启停操作按钮,用起来很惬意。
操作示例如在拓扑上执行【重启实例】,所有的操作均记录日志,保证操作时间、任务状态、操作暂停、终止和重试,做到操作有记录,可查询,防止误操作和随意变更操作。
历史操作记录
2、多视角监控清晰直观
GreatADM提供了实时的集群状态监控和管理功能。可以通过GreatADM查看集群状态、执行数据同步、进行主从切换等操作。【实例所在主机负载实时动态更新】
【实例复制概览】全览实例状态,以及延迟情况,并支持在线扩缩,以及节点操作
【实例负载】针对实例的实时会话信息,当前业务或者某一阶段的繁忙程度,实例负载尽收眼底。
【负载趋势】另外对DBA来说的主机层面的资源用量和趋势,现在独立一个面板,直接全局统计数据增长趋势图,并给出资源用量评估,直观且高效。解决了做评估无依据或需要人工命令行统计,或者表格比对人工绘图的耗时耗力的问题。
【多维度监控】在监控告警中,提供3个维度的视角,数据库架构全局维度、单实例节点维度、主机维度来进行全方位监控。做不同维度按需监控,按需开关,按需分屏展示的可操作性和灵活性。
【自定义监控】基于统一模板化的面板之外,同时兼顾用户想自定义监控面板的诉求,GreatADM做了展示面板的可配置性改进。将部分通用能力通用标准,以友好的web页面组织起来,让监控的dashboard可按用户需求自助定制,尊重不同业务库级差异性,而差异化监控的诉求。
3、基线参数和一键修复
GreatADM提供基线参数模板的校验,以及变更参数历史的记录,和一键修复功能,这大大降低了DBA在维护数据库过程中,因手动变更参数之后未将参数固定写入到配置导致的丢失,遗忘等问题。个人觉得对DBA比较实用的功能。参数变更可按需应用不同节点,且支持差异化配置。
针对不同节点的参数,基于参数基线做变更比对
及时发现参数差异,并支持一键修正,这结局了DBA在一对多的数据库运维管理中,不同业务数据库的参数变更历史,全靠记忆或者现场搜索、现场查看cnf要便捷高效的多,且不易出错,相当实用。
这是目前个人使用过程中觉得比较不错的几个点。
四、内容总结
通过GreatADM创建MGR的过程,可以看到GreatADM从一键脚本安装、再到创建MGR架构时主机、软件包管理、参数模板、环境预检、到完成,完全是流程化、模板化、规范化的交付。 特别是在国产化的背景下,版本差异交付适配难、运维管理频踩坑、告警消息策略固化,各类告警无聚合压制、巡检诊断内容价值低廉、只有备份能力,恢复全靠人工,跨机房灾备无法统筹管理等问题。GreatADM针对上述问题逐个击破,使用户在面临多样化环境中,管理更加规范、直观、高效便捷。GreatADM就是结合部分金融和运营商私有国产化交付场景下,打造的一款全方位、多场景的覆盖的数据库管理平台产品。
对于用户而言,GreatADM提供了常见业务场景中,数据库标准化交付、规范化扩缩变更操作、日常监控管理、以及运维历史可溯源的能力,为业务的平稳运行保驾护航。
对于DBA而言,在一对多的数据库架构管理中,选择合适的工具,合适的平台才能使工作更高效,处理问题更方便,才能保障数据库平稳运行,减少DBA人工管理成本,降低定位问题的门槛,而GreatADM为DBA提供了一种全新的体验。
如果大家有什么问题或文中有描述错误,欢迎指出,大家可以随时留言,感谢大家阅读。
Enjoy GreatSQL :)
关于 GreatSQL
GreatSQL是适用于金融级应用的国内自主开源数据库,具备高性能、高可靠、高易用性、高安全等多个核心特性,可以作为MySQL或Percona Server的可选替换,用于线上生产环境,且完全免费并兼容MySQL或Percona Server。
相关链接: GreatSQL社区 Gitee GitHub Bilibili
GreatSQL社区:
社区有奖建议反馈: https://greatsql.cn/thread-54-1-1.html
社区博客有奖征稿详情: https://greatsql.cn/thread-100-1-1.html
(对文章有疑问或者有独到见解都可以去社区官网提出或分享哦~)
技术交流群:
微信&QQ群:
QQ群:533341697
微信群:添加GreatSQL社区助手(微信号:wanlidbc
)好友,待社区助手拉您进群。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
千万级数据深分页查询SQL性能优化实践 | 京东云技术团队
一、系统介绍和问题描述 如何在Mysql中实现上亿数据的遍历查询?先来介绍一下系统主角:关注系统,主要是维护京东用户和业务对象之前的关注关系;并对外提供各种关系查询,比如查询用户的关注商品或店铺列表,查询用户是否关注了某个商品或店铺等。但是最近接到了一个新需求,要求提供查询关注对象的粉丝列表接口功能。该功能的难点就是关注对象的粉丝数量过多,不少店铺的粉丝数量都是千万级别,并且有些大V粉丝数量能够达到上亿级别。而这些粉丝列表数据目前全都存储在Mysql库中,然后通过业务对象ID进行分库分表,所有的粉丝列表数据分布在16个分片的256张表中。同时为了方便查询粉丝列表,同一个业务对象的所有粉丝都会路由到同一张表中,每个表的数据量都能够达到 2 亿+。 二、解决问题的思路和方法 数据库表结构示例如下: CREATE TABLE follow_fans_[0-255] ( id bigint(11) NOT NULL AUTO_INCREMENT COMMENT '自增id', biz_content VARCHAR(50) DEFAULT NULL COMMENT '业务对象ID', ...
- 下一篇
当小白遇到FullGC | 京东云技术团队
起初没有人在意这场GC,直到它影响到了每一天! 前言 本文记录了一次排查FullGC导致的TP99过高过程,介绍了一些排查时思路,线索以及工具的使用,希望能够帮助一些新手在排查问题没有很好的思路时,提供一些思路,让小白也能轻松解决FullGC问题,文中实际提到的参数配置不一定适合其他业务场景,在调优自己的项目时还是需要实际试验过才能得出最佳参数配置 我也是小白,如有不合理的地方,欢迎大佬们进行指正 因为线上服务器,我们大部分是没有SSH权限的,没有办法直接执行命令获取容器信息,所以排查过程中只能借助平台提供的工具,平台提供的工具还是挺全的,本文主要用到的工具有: JDOS容器智能监控,JDOS进程查询,SGM容器监控信息,SGM方法调用查询 以下几个工具简单介绍: http://sgm-server.jd.com/ http://jagile.jd.com/jdosCD/jdt/apps JDOS容器智能监控: 查看容器的CPU,内存,磁盘,IO等信息 JDOS进程查询: 查看Java进程编号,执行常用的Java内存进程查看命令 SGM容器监控信息: 查看JVM虚拟机内存变更历...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- CentOS8编译安装MySQL8.0.19
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- SpringBoot2整合Redis,开启缓存,提高访问速度
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- Docker使用Oracle官方镜像安装(12C,18C,19C)