提升效率--暴风影音Hadoop应用之法

自从互联网诞生伊始,互联网公司在IT技术领域就秉承了“开放、共享、创新”的互联网精神,以雅虎、谷歌、Facebook为代表的互联网公司对于IT技术的推动与发展可谓影响深远。以目前最为火热的大数据领域为例,Hadoop已经成为大数据领域最炎手可热的技术,而Hadoop这项技术最早即为雅虎、谷歌为代表的互联网公司所开发并使用的。在大数据时代到来的今天,国内互联网公司同样不甘落后,除了百度、阿里巴巴这些大互联网公司之外,越来越多互联网公司开始尝试和使用Hadoop。今天,让我们来看看暴风影音如何利用Hadoop来大幅提升工作效率。

传统方法在大数据面前黔驴技穷

暴风影音公司作为国内一家视频领域的互联网公司,致力于为国内广大的互联网用户提供互联网视频播放服务,截止到目前,暴风影音公司每天为互联网用户播放超过亿次的视频,每天有大量互联网用户通过暴风影音平台享受视频播放的服务。如此大频次的视频点播服务也使得暴风影音需要面对诸多挑战:每天增长大量的业务数据、关键业务的数据分析工作繁重和效率底下、企业诸多硬件资源没得到充分利用等等。

暴风影音Hadoop技术专家赵修湘就表示:“暴风公司每天业务数据量增长达到了0.5TB,这个数据量应该说是非常大的,而且这种增长趋势也越来越大。而且对于互联网企业来说,传统的数据分析手段已经越来越难以满足业务需求了,特别是随着业务数据量越来越大,传统通过Shell脚本等程序语言直接从原始文件进行分析或者采用mysql、inforbright等数据仓库的SQL语言进行数据处理与分析,这些传统的方式都有着较大的瓶颈,主要依靠服务器内存,当数据量超过内存大小之后,需要自行开发来考虑问题。这其实是给业务数据分析和统计工作带来很大的挑战。”

对于暴风这样的互联网公司而言,后端的数据统计与分析工作非常重要,通过后端数据的统计与分析才能够了解到诸如用户的视频点播特点爱好、广告位置点击量多少、用户点播的时间、地域分布特点等等有价值的信息,从而能够及时了解与促进业务的调整和发展。赵修湘对于过去传统的数据分析和统计方法阻碍业务颇有感触,他表示:“互联网公司对于产品异常重视,产品部门会提出各式各样的统计需求,通过统计与分析后的数据来调整相应的产品策略。之前采用的Shell脚本语言的方式不仅仅存在着分析能力不够的缺点,其实是存在着大量重复工作,极大地浪费了IT资源和人力。”

事实上,在大部分互联网公司当中,产品部门对于数据统计与分析的需求最大。在一款经典的互联网产品能够成就一个互联网公司,不过其背后是需要大量的用户业务数据统计与分析,此数据分析结果之上来调整和创新出更多更好的互联网产品,没有业务数据分析结果的支持、仅仅凭借臆想是不能够很好把握用户需求和产品创新的,而这种数据份统计与分析往往需要长时间分析、丰富的数据分析工具、良好的服务器硬件以及快速的分析结果来支撑。暴风影音Hadoop技术专家赵修湘就表示:“传统的统计与分析方法并不能够进行长时间的分析,暴风影音之前分析一周的业务数据往往需要两天甚至更多的时间,这是产品部门所不能忍受的。另外一点是传统的分析方法在分析工具方面比较匮乏,这也给数据统计与分析带来巨大困扰。还需要注意的是传统分析方法给大量服务器造成了业务不均衡、CPU和IO资源并没有得到合理利用。”

正是基于上述原因,暴风影音在开放基础架构之上构建了自己的Hadoop数据分析平台,从而彻底解决了传统数据分析方式所不能够解决的业务难题。

Hadoop+开放架构:事半功倍

为了解决目前面对的诸多大数据问题,暴风影音选择了基于Hadoop和X86开放基础架构来构建数据平台,通过该数据平台快速、高效地完成公司产品部等各业务部的数据统计与分析需求,摆脱了过去传统数据统计与分析方式方法的各种困扰,大幅提升了业务支持的工作效率。

图一:暴风影音基于Hadoop和X86开放基础架构的数据平台架构示意图,暴风影音公司先通过X86服务器构建数据采集集群,数据采集之后通过汇集服务器将加载到X86服务器构建的Hadoop集群,利用Hadoop集群处理与分析数据,最终得出统计与分析结果。

暴风影音Hadoop技术专家赵修湘表示:“Hadoop集群可用性非常高,能够轻松处理TB级的数据量,通过X86服务器构建的集群能够随时根据业务需求以增加集群节点的方式来增加集群能力,超大集群能力使得Hadoop的数据处理能力非常高。同时采用开放基础架构而言,构建Hadoop在硬件上要求并不高,多点数据备份机制和计算容错功能使得构建和使用集群变得非常容易。”

同时,赵修湘还补充道:“Hadoop集群具有丰富的编程接口,能够支持几乎所有现在流行的编程语言,使得大家能够通过主流编程语言来使用Hadoop;更加关键的是HadoopMapred编程模型使得分析人员能够方便快捷地分析超大数据量;而且,Hadoop目前支持多种数据仓库,在使用过程中非常方便。”

图二:图中显示了暴风影音数据平台中的X86服务器在内存和CPU上的使用率。暴风影音大数据平台建立之后,充分发挥了集群的威力,大幅提升了公司基础架构中各种X86服务器的资源利用率。

暴风影音通过部署基于Hadoop和开放基础架构的数据平台,告别了过去传统方式在大数据量的分析能力不足、存在大量重复性工作、无法分析长时间的数据、数据分析工具匮乏、服务器硬件资源利用不足等缺点,最为直接的结果就是大幅提升了数据统计与分析的效果,赵修湘表示:“通过Hadoop数据平台,有些过去需要花费几个小时的业务数据统计工作现在往往只需要几分钟就能够完成。”

暴风影音通过自身在Hadoop集群平台的构建、测试与应用也摸索出Hadoop集群构建和使用需要注意的要点:构建Hadoop集群需要在应用、软件和硬件三个方面注意,需要公司IT人员加强对Hadoop软件组件Hive、Pig的了解和使用;需要注意Hadoop集群进程崩溃的风险等。赵修湘还认为在硬件层面也不能够忽视,他表示:“Hadoop由于是处理大数据,因此不仅仅要求计算能力,在数据传输的网络上也要求较高。Hadoop集群需要较多的X86服务器,其实随着数据量增大和数据分析业务增加,集群节点越多处理能力也越强。与此同时,建议集群节点采用配置价高的服务器,暴风影音这边采用较多的是英特尔8核至强服务器,并配置了较高的内存。”

最后,暴风影音Hadoop技术专家赵修湘表示随着Hadoop数据平台的建立,暴风影音的业务在大数据时代下会更加从容。