中通hadoop去CDH的实践之路

本文讲述了中通快递在大数据平台中去CDH并升级到Apache Hadoop 2.7.5的实践过程,包括背景、升级目标、挑战与解决方案,以及升级后的性能提升和稳定性保障,旨在实现成本降低和效率提升。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1 背景
1.1 快递业务介绍
中通快递​(欢迎进入🔗中通快递官网了解更多资讯)创建于2002年5月8日,是一家以快递为核心业务,集跨境、快运、商业、云仓、航空、冷链、金融、智能、兔喜社区生活服务、中快数字营销等生态版块于一体的综合物流服务企业。2021年,中通快递全年业务量达到223亿件,同比增长31.1%。全网服务网点30,400+个,转运中心99个,直接网络合作伙伴5700+个,自有干线运输车辆10,900辆(其中超9000辆为高运力甩挂车),干线运输线路约3700条,网络通达99%以上的区县,乡镇覆盖率超过93%。科技中通大数据中心支撑了公司的业务,现在有了两个IDC,Hadoop集群规模达到了上千台,存储达到了18PB+,线上日活任务数2w+,目前,仍处在快速增长期。
如下图展示了一个快递的生命周期,五个字概括就是收发到派签。首先,客户通过线上或线下的方式和快递员取得联系,填写寄件人等信息,将快递A交给快递员。快递A经过称重、打单、扫描、包装等步骤,由快递员送往发件网点,此过程称为揽收。然后,发件网点的快递员将快递A进行建包、装包、装车,由发件网点发出,发往首转运中心。快递A经首转运中心被运输到末转运中心。快递A到达末转运中心后,快递员根据三段码的解析将快递A递交到收件网点,收件网点对快递A进行拆包和分拣,此过程包括发件和到件。快递A被分拣完,由快递员进行派件,最终快递A被送达到收件客户手里,收件客户完成签收。在快递A整个生命周期内,每个业务流程都会产生大量的数据,我们利用这些数据,可以追踪快递A的轨迹,分析快递A的运送时效,分析快递A的退改签等业务。当然,做上述事情的前期是,我们需要一个稳定的、计算高效的、海量存储的基础大数据平台。
在这里插入图片描述

1.2 大数据平台介绍
中通大数据平台整个体系如下图所示,整个大数据平台基于Hadoop生态系统建立起来的。总共分为四层,最下面一层是数据源层,该层负责抽取Web日志、系统日志、埋点、业务数据等,这些数据是原始的数据,是整个快递生命周期内产生的各种各样的数据。在数据源之上就是存储层,该层负责存储各式各样的快递数据,有HBase、Alluxio、Hudi、Kudu等存储组件。在存储层之上为计算层,该层提供对快递数据的计算和处理能力,计算组件有离线和实时之分,离线计算包括Hive、Sqoop、SparkSql等,OLAP在线计算包括Presto和ClickHouse,实时计算包括Flink和SparkStreaming。最上层是服务层,该层主要是提供数据服务能力的,主要包括调度系统、元数据系统、任务分析系统、机器学习系统等。整个大数据平台各层相互支持,最终实现了中通的数字化平台,提供一个支持业务和赋能业务的能力。
在这里插入图片描述

1.3 背景介绍
在整个中通大数据平台中,最核心的是Hadoop基础平台,因为所有的快递数据都是保存在其中,因此,Hadoop的稳定和高效是最核心的。目前中通Hadoop的使用的CDH社区版,版本为2.6.0-cdh5.12.1,主要存在以下几个问题。
1.在成本方面,cdh开始收费。从2021年1月底,所有的Cloudera都需要付费订阅,才能正常使用,并且收费昂贵,后续的维护和扩展功能都需要付费。如果一个节点按照1万美元收费标准 ,公司有1000多台机器,去CDH能为公司节省1000多万美元的成本,这是非常符合公司一直秉持的降本增效的宗旨。
2. 在yarn调度性能方面,cdh版本的yarn调度性能比较低。在每天的凌晨0点到5点之间,是ETL作业的高峰期,这个时间段,作业数量达到了一天的高峰,随着ETL数量增多,yarn的资源调度器效率变低,正常情况下,yarn资源调度器效率是在10毫秒内能够分配一个Container,在业务高峰期,yarn资源调度器效率最坏能达到1秒甚至2秒分配一个Container,最终导致的一个结果就是关键的ETL作业大面积出现延迟,影响到了业务部门白天的正常使用。这是业务无法接受的。
3.在namenode rpc性能方面,cdh版本的namenode rpc会发生阻塞。这是由于cdh版本的namenode的block的管理使用的红黑树的数据结构,该结构对于查询表现出良好的性能,但是如果对于大规模的删除blcok操作,比如删除一个大的目录,该红黑树会花很长时间去做重平衡,这会使得namenode阻塞住,无法提供服务,最坏的情况能达到2到3分钟,这种影响随时都会出现,严重影响了业务的使用。
综上来看,去CDH是对于公司来说是很有必要的一项工作。我们调研了同行和业界大厂使用hadoop的情况,从调研的资料来看,大厂都是使用apache hadoop,升级也是基于apache hadoop版本分支进行的,我们为了响应公司降本增效的宗旨,去CDH,转而升级到apache hadoop 2.7.5版本。针对apache hadoop 2.7.5版本,我们做了相关的压测,压测结果表明,yarn调度性能能够控制10毫秒以内。namenode rpc在大规模删除时,不会出现阻塞的现象,这是因为2.7.5在block的管理采用的是链表数据结构,链表的删除性能是很优的。 为了升级到apache hadoop 2.7.5,我们经历了如下挑战:
1)版本跨度大,从cdh 2.6 到 apache 2.7,原因是cdh基于apache2.6开发和合并很多的特性,apache 2.7版本没有这些新特性,需要投入更多的时间和精力测试和排除。
2)平台组件多,目前大数据平台,包括调度系统、元数据、机器学习、查询平台等系统,都依赖于Hadoop, 需要投入更多的精力、人力、时间测试兼容性。
3)客户端多,MapReduce、hive、hbase、alluxio、spar

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值