国产自研、安全、高可用——袋鼠云大数据基础平台EasyMR筑基企业数字化转型
近年来,国际形势的风云变幻,中美双边关系的恶化,自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部署在大数据服务节点上。
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组件进行告警发送。
DataNode监控大盘
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也会继续适配其余国产化操作系统、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商业版的国产化替代。
为了可信、可控、安全的数据未来,袋鼠云在路上。
对EasyMR感兴趣的用户可以点击添加【小袋鼠】进行咨询,进一步了解产品详情。
想了解或咨询更多有关袋鼠云大数据产品、行业解决方案、客户案例的朋友,浏览袋鼠云官网:https://www.dtstack.com/?src=szbky
添加【小袋鼠:dtstack001】入qun,免费获取大数据&开源干货
同时,欢迎对大数据开源项目有兴趣的同学加入「袋鼠云开源框架钉钉技术qun」,交流最新开源技术信息,qun号码:30537511,项目地址:https://github.com/DTStack