翼MR在基于Apache Hadoop开源软件的基础上,在主要业务部件的可靠性、性能调优等方面进行了优化和提升。
系统可靠性
管理节点均实现HA
Hadoop开源版本的数据、计算节点已经是按照分布式系统进行设计的,单节点故障不影响系统整体运行;而以集中模式运作的管理节点可能出现的单点故障,就成为整个系统可靠性的短板。
翼MR对所有业务组件的管理节点都提供了类似的双机的机制,包括Manager、HDFS NameNode、HiveServer、HBase HMaster、YARN ResourceManager、KerberosServer、LdapServer等,全部采用主备或负荷分担配置,有效避免了单点故障场景对系统可靠性的影响。
异常场景下的可靠性保证
通过可靠性分析方法,梳理软件、硬件异常场景下的处理措施,提升系统的可靠性。
-
保障意外掉电时的数据可靠性,不论是单节点意外掉电,还是整个集群意外断电,恢复供电后系统能够正常恢复业务,除非硬盘介质损坏,否则关键数据不会丢失。
-
硬盘亚健康检测和故障处理,对业务不造成实际影响。
-
自动处理文件系统的故障,自动恢复受影响的业务。
-
自动处理进程和节点的故障,自动恢复受影响的业务。
-
自动处理网络故障,自动恢复受影响的业务。
数据备份与恢复
为应对数据丢失或损坏对用户业务造成不利影响,在异常情况下快速恢复系统,翼MR根据用户业务的需要提供全量备份、增量备份和恢复功能。
自动备份
翼MR对集群管理系统Manager上的数据提供自动备份功能,根据制定的备份策略可自动备份集群上的数据,包括LdapServer、DBService的数据。
手动备份
在系统进行扩容、打补丁等重大操作前,需要通过手动备份集群管理系统的数据,以便在系统故障时,恢复集群管理系统功能。
为进一步提供系统的可靠性,在将Manager、HBase上的数据备份到第三方服务器时,也需要通过手动备份。
节点可靠性
操作系统健康状态监控
周期采集操作系统硬件资源使用率数据,包括CPU、内存、硬盘、网络等资源的使用率状态。
进程健康状态监控
翼MR提供业务实例的状态以及业务实例进程的健康指标的检查,能够让用户第一时间感知进程健康状态。
硬盘故障的自动处理
翼MR对开源版本进行了增强,可以监控各节点上的硬盘以及文件系统状态。如果出现异常,立即将相关分区移出存储池;如果硬盘恢复正常(通常是因为用户更换了新硬盘),也会将新硬盘重新加入业务运作。这样极大简化了维护人员的工作,更换故障硬盘可以在线完成;同时用户可以设置热备盘,从而极大缩减了故障硬盘的修复时间,有利于提高系统的可靠性。
节点磁盘LVM配置
翼MR支持将多个磁盘配置成LVM(Logic Volume Management),多个磁盘规划成一个逻辑卷组。配置成LVM可以避免各磁盘间使用不均的问题,保持各个磁盘间均匀使用在HDFS和Kafka等能够利用多磁盘能力的组件上尤其重要。并且LVM可以支持磁盘扩容时不需要重新挂载,避免了业务中断。
数据可靠性
翼MR可利用弹性云服务器ECS提供的反亲和节点组以及放置组的能力,结合Hadoop的机架感知能力,将数据冗余到多个物理宿主机上,避免物理硬件的失效造成数据的失效。