事半功倍 提升效率--暴风影音 Hadoop 应用之法

WatchStor

    自从互联网诞生伊始,互联网公司在 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;更加关键的是 Hadoop Mapred 编程模型使得分析人员能够方便快捷地分析超大数据量;而且,Hadoop 目前支持多种数据仓库,在使用过程中非常方便。”

    图二:图中显示了暴风影音数据平台中的 X86 服务器在内存和 CPU 上的使用率。

    暴风影音大数据平台建立之后,充分发挥了集群的威力,大幅提升了公司基础架构中各种 X86 服务器的资源利用率。

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

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

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

产品和性能信息

open

1. 媒体文章均为第三方观点,仅供参考, 不代表英特尔官方观点。