近年来,国际形势的风云变幻,中美双边关系的恶化,自 2013 年 “棱镜门” 事件之后,又一次警示国人,对于科技领域,只有自己掌握核心关键技术,实现自主可控,才能摆脱越来越频繁的 “卡脖子事件”,保证企业和国家信息安全。
俗话说 “基础不牢,地动山摇 “。大数据基础平台什么?是打地基的,是重中之重,地基扎得越深、打得越牢,上面的建筑才能越稳定。可以说,数字化转型的 “万丈高楼” 起于基础平台,具备自主可控的平台建设能力,是真正意义上一切的前提。
袋鼠云今年 7 月最新推出自研大数据基础平台 EasyMR,该产品提供 Hadoop、Hive、Spark、Trino、HBase、Kafka 等组件的自动化安装、中心化管理与集群监控告警功能,完全兼容 Apache 开源生态,支持企业级安全管控,一键开启 LDAP+Kerberos+Ranger 认证权限体系,以及提供一站式运维管理平台。
结合袋鼠云在大数据领域多年的实践经验和沉淀积累,袋鼠云大数据基础平台 EasyMR 适配多种信创软硬件,可以更加自主化地帮助企业快速构建大数据平台,降低运维成本,极大提高集群管理效率。
一、EasyMR 的系统架构
先来看看 EasyMR 的系统架构,由主体部分和监控告警组件共同构成:
EasyMR 的主体部分由以下三部分构成:server 端(matrix)、agent 管控服务(easyagent-server)、agent 管控客户端(sidecar):
matrix
matrix 主要用于用户前端交互,将用户期望对大数据集群的对应运维操作通过 web UI 的方式呈献给用户,也可以通过这种方式将用户的运维指令下发到 Hadoop 集群中,比如安装 HDFS Namenode、启动 HDFS Namenode、停止 HDFS Namenode 等等,从而完成用户与 Hadoop 集群的交互。
matrix 一般不部署在大数据服务节点上,是作为管控服务单独部署。
easyagent-server
作为 matrix 与 easyagent-sidecar 之间的中间服务,easyagent-server 向上作为 http 服务端提供给业务层 matrix 一些 restful 接口,向下作为 rpc 服务端提供给底层 easyagent-sidecar 一些 rpc 接口供远程调用,从而将业务层与底层服务成功解耦。
并且支持高可用分布式部署,当集群压力增加时可以增加节点部署,缓解集群压力。与 matrix 一样,easyagent-server 一般不部署在大数据服务节点上,是作为管控服务单独部署。
easyagent-sidecar
easyagent-sidecar 是由 golang 语言开发,负责执行 easyagent-server 下发的指令,进行大数据基础服务的安装、部署、启动、停止、配置下发等操作。同时还负责进行集群内主机和服务监控信息以及心跳状态监控上报,当 matrix 检测到 sidecar 未及时上报心跳数据时在页面会显示主机状态异常。
虽然 sidecar 是与大数据集群最近的一个组件,但是它不保存任何跟集群相关的内容,只负责执行 easyagent-server 下发的命令以及自身主机与服务的心跳与健康检查上报。easyagent-sidecar 部署在大数据服务节点上。
除了上述三种基础组件之外,EasyMR 作为一个完备的大数据基础平台,对于集群的监控告警也引入了一些开源组件(prometheus、grafana),并根据需求对其进行了相应的二次开发,同时 EasyMR 还自研了专用告警通道发送组件 (dt-alert):
prometheus
prometheus 是由 SoundCloud 开源的监控告警解决方案,从 2012 年开始编写代码,2015 年在 GitHub 上开源,2016 年 Prometheus 成为继 Kubernetes 之后,CNCF (Cloud Native Computing Foundation)中的第二个项目成员,也是第二个正式毕业的项目,是新一代开源解决方案。
对于使用 EasyMR 接入过的主机以及使用 EasyMR 部署的大数据服务,我们会为其启动对应的 prometheus exporter(如主机会使用 node_exporter),prometheus 会定期抓取主机与服务的监控数据并写入存储中,便于页面查询展示以及针对监控数据进行告警。
grafana
grafana 是一个监控仪表系统,它是由 Grafana Labs 公司开源的系统监测 (System Monitoring) 工具。它可以极大地助力简化监控的复杂度,用户只需要提供需要监控的数据,它就可以帮助生成各种可视化仪表。同时它还有报警功能,可以在系统出现问题时做到及时通知。
EasyMR 将开源版本的 grafana 进行了二次开发,做到无痕嵌入 EasyMR UI 中,大大丰富了监控图表的多样化展示。除此之外,对 grafana 的仪表盘配置告警规则后还可以对接自研的 dt-alert 组件进行告警发送。
dt-alert
dt-alert 是袋鼠云自研的专用告警通道发送组件,原生支持邮件、短信、钉钉机器人、企业微信四种方式发送告警信息,同时也支持可扩展的自定义插件发送方式,用户可以根据我们设定的接口规范开发自定义插件发送告警信息到内部告警通道中。
二、使用 EasyMR 部署 Hadoop 的操作原理
结合上述对 EasyMR 核心组件的描述,下文使用 Hadoop 集群的实例为大家说明,在使用 EasyMR 部署 Hadoop 时的底层操作原理:
Part.1
本地部署一套 EasyMR 服务,得到前端页面访问入口。
Part.2
通过前端页面进入主机接入页面进行主机接入操作,此时 matrix 会向 easyagent-server 发送请求在指定主机上安装 easyagent-sidecar,easyagent-server 会将安装脚本下发到对应主机,easyagent-sidecar 安装完毕之后会通过回调的方式通知 matrix,完成主机接入。
此外,EasyMR 还会在主机上安装 node_exporter,并将采集配置写入 prometheus 配置文件中,无需重启即可热加载配置进行主机监控数据采集。
Part.3
页面选中 Hadoop 产品包,根据提示进行前期配置触发部署操作,matrix 也是通过 easyagent-server 向 easyagent-sidecar 发送下载安装包、解压安装、启动命令,启动完成之后 easyagent-sidecar 会定期对服务进行健康检查,并将结果通过 easyagent-server 上报到 matrix。
与主机类似,EasyMR 还会在主机上安装对应服务的 prometheus exporter,并将采集配置写入 prometheus 配置文件中,无需重启即可热加载配置进行服务监控数据采集。
Part.4
进入仪表盘页面查看 Hadoop 服务的图表监控,此时查看的页面来自于 iframe 嵌入的 grafana。
Part.5
对仪表盘进行监控告警配置并设置告警发送通道,那么当告警触发时(比如 HDFS namenode full GC 次数过大),grafana 会调用 dt-alert 的接口将告警信息发送到用户指定的渠道。
三、EasyMR 的能力优势
袋鼠云大数据基础平台 EasyMR 不仅拥有高效、完备的系统架构,还拥有更多的亮点优势,主要体现在以下三方面:
全面的国产化适配能力
外部环境渐趋复杂,我国正大力推进信创国产化的进程,逐步将 CPU、操作系统、数据库等基础软硬件技术换成国内自主研发的技术,减少对国外产品的依赖。
EasyMR 具备极强的国产化适配能力,可灵活部署在多种国产操作系统、CPU、服务器规格中,具体适配清单如下:
丰富的组件可扩展性
EasyMR 本身提供了丰富的大数据组件,包括但不限于 Hadoop、Hive、Spark、Flink、HBase、Kafka、Trino,可以满足用户不同需求场景下对大数据集群的一站式创建、管理、部署、运维与监控。
除此之外,EasyMR 还拥有一套统一的产品包 schema 定义规范,将产品包完整的生命周期(安装、启动、配置、升级、卸载等)通过标准的 schema 定义表示。
当后续需要添加其余类型的大数据组件时,无需对 EasyMR 平台本身做出改造,只需根据规范定义新组件的产品包即可将其投入 EasyMR 平台使用。
支持高可用的可靠性平台
对于 EasyMR 系统架构中的多个核心组件,出于对平台稳定性方面的考虑,EasyMR 做到了核心组件支持高可用且分布式可水平扩展。
・当一台核心组件因为外界原因宕机后,EasyMR 可以保证其余服务能够正常运行,包括但不限于服务安装、启动、停止、卸载等;
・当需要接入大数据组件的节点数量增加时可以灵活扩展核心组件的数量以适配,同理,当需要接入大数据组件的节点数量减少时也可以灵活减少核心组件的数量以节省资源。
四、EasyMR 使用场景
EasyMR 作为一款自主研发、完全可控,致力于助力企业信息化智慧转型的 “企业数据底座”,可以帮助客户轻松应对各类应用场景。
快速搭建 Hadoop 集群
在当前的大数据运维实践下,当用户需要使用 Hadoop 大数据分布式处理系统的时候,对用户自身来说前期需要准备硬件环境、部署启动 Hadoop 相关大数据组件。但是跟用户相关的内容是编写应用程序运行作业,对于不熟悉底层大数据集群的用户来说,这些前期准备工作非常冗长繁琐而且出了问题也无法得到及时的解决。
并且在传统模式下,运维手动部署一套 Hadoop 集群至少需要 3 天的,尤其当集群规模较大时,通过手动的方式更加耗费人力与物力,
但是使用 EasyMR 我们可以快速接入大数据节点并可以通过页面化的方式一键部署 Hadoop 集群,整个过程可以控制在半个小时内完成,极大提升了运维部署效率。
大数据集群开启安全
EasyMR 通过集成第三方的安全管控服务 Kerberos、LDAP 和 Ranger 来分别对大数据集群做用户安全认证、访问用户管理以及用户数据权限管控。
对于使用 EasyMR 部署的大数据集群,用户可以通过一键开启的方式对大数据组件开启安全认证,大大节省了传统模式下的繁重的人工操作。
基于国产化操作系统部署大数据集群
关键技术国产化,是 DT 时代中国企业发展的必然选择。越来越多企业开始追求软硬件的国产替代和自主可控。
EasyMR 目前已经适配多种国产操作系统与芯片架构,而且还将继续主动针对国产化软硬件去做适配,用户使用 EasyMR 可以快速部署对应架构下的大数据集群。
写在最后
作为全链路数字化技术与服务提供商,袋鼠云始终坚持自主研发和国产化路线,为攻克 “卡脖子” 难题,在技术创新上不遗余力。EasyMR 基于最新的开源技术,为企业提供大数据基础设施底座,致力于 Cloudera CDP 等国外 Hadoop 商业版的国产化替代。
为了可信、可控、安全的数据未来,袋鼠云在路上。
想了解或咨询更多有关袋鼠云大数据产品、行业解决方案、客户案例的朋友,浏览袋鼠云官网:https://www.dtstack.com/?src=szalykfz
添加【小袋鼠:dtstack001】入qun,免费获取大数据&开源干货
同时,欢迎对大数据开源项目有兴趣的同学加入「袋鼠云开源框架钉钉技术 qun」,交流最新开源技术信息,qun 号码:30537511,项目地址:https://github.com/DTStack