基于Yarn的一系列Hadoop应用如Spark、Storm和Presto等的出现再一次降低了企业步入大数据的门槛,大数据应用安全性得以提高,企业的商业价值也获得潜在提升,大批企业为之欣喜若狂。然而,在疯狂搭建大数据应用的背后,作为企业用户,如果无法成功而高效的管理大数据应用,确保大数据系统的性能和稳定性,反而会造成用户流失的苦果,在大数据巴士中我看到很多人最终将问题归咎于Hadoop并失去对它的信任。
Hadoop环境必须要优化运行才能满足最终用户的期望。我们综合了无数Hadoop平台的企业实战经验,汇集成以下三个最佳实践,帮助提高大数据应用的表现:
1均衡配置工作量
工作量管理是Hadoop环境的重要因素。因为在大数据巴士中我看到企业中的大数据系统被广泛的用于生产环境,业务团队的需求必然会考验到系统资源的各种组件,新部署的大数据应用需要与企业原有的应用相互竞争并且拿出具有说服力的表现。即使Hadoop集群是完全按照供应商提供的指导而部署的,企业也应当根据自己的实际工作量重新配置。系统管理员可以使用Yarn的工作量管理功能来为不同的用户分配相应的系统资源来确保满足服务水平。
工作量管理正确设置和调整后,管理员可以调度作业任务以获得群集资源的最大利用率,不仅能够将Hadoop集群的足迹维持在适当大小,也提高了应对不断变化的业务需求的适应能力。
2保持业务连续性
企业中最有价值的数据都被分布安放在Hadoop平台中,此时系统的持续可用性和数据保护变得更加重要,然而Hadoop的数据复制能力并不足以在一场灾难中保护最重要的数据。常规做法是设立一个标准的三路复制方案用来保护各种数据对象以免损坏或丢失,但这种备份和灾难恢复策略在大数据巴士的评论中被说明并不足够。
Hadoop自身的复制功能可以提供较好的容错性和数据局部性处理,但在同一个机架保存三个数据副本并不能在出现无法避免的天灾人祸时保护它。要彻底解决这个问题,数据必须要每天备份到另一个数据中心,需要用到数据归档工具或云实例,这样做有助于保护信息免受自然灾害、网络攻击或其他不可预见的事件发生时遭受损失。
回到业务连续性,别忘了NameNode备份的问题。NameNode在Hadoop分布式文件系统(HDFS)的特定目录中存储数据在集群的保存位置。如果发生单点故障,从头开始重建NameNode是一个费时费力的工作,并且可能会有潜在的数据丢失。这就是为什么随着生产系统越发庞大,备份数据和NameNode的任务就越来越重要。
搭建在Hadoop中的关键应用需要一个高可用性策略,这就需要一个计划来确保生产流程在遇到未知情况时不受到影响。从原料来源到离线备份,一定要为那些无法负担损失的重要数据设计好一个完善的重建数据的过程。
3丰富的Hadoop实战经验
熟悉了解Hadoop架构的详细文档、日常监测任务以及各种标准解决方案当然是必不可少的,但更加无可替代的是实战经验。即使应用支持文档准备的再充分,也一定会出现无法解决的挑战,这时就是经验展示身手的时刻。作为大数据平台的管理员,必须掌握管理和开发大数据开源平台的一整套技能集合,所需要的知识和功底远远超出培训机构速成而来的DBA。
除了Hadoop管理经验,大数据应用支持团队应该拥有坚实的技术背景,能够应对各种不规范的问题。团队中应该至少有一位高级技术人员可以解决特别棘手的挑战。他应该拥有Hadoop自定义应用开发的详细知识、强大的Linux技能和解决复杂问题的能力。
即使是最有经验的Hadoop管理员也需要合适的工具来完成他们的工作,例如很多支持和开发团队正在使用开源管理工具如Ambari和Nagios,然而他们最终会发现许多工具并不成熟,因此有必要购买一些收费的监控和修复工具来应对一些不常见的问题,维持大数据系统的高效运行并将宕机时间降到最低。
获得最佳的Hadoop环境
虽然Hadoop并不是数据库,但许多数据管理的理念和技术是相同的,比如优先满足业务需求和确保工作量、保证业务连续性、降低宕机和丢失信息的风险。此外,经验在Hadoop管理与分析工作中是非常关键的,毕竟你不可能碰巧就建立起了一个高度优化的环境,实际上这些都是一天接一天巧妙的管理工作的结果,确保大数据应用的优越性能以及良好的用户满意度。
网友评论