技术开发 频道

乐视网从零开始搭建大数据平台经验分享

  【IT168 现场报道】2013年11月22-23日,作为国内知名专注于Hadoop技术与应用分享的大规模行业盛会,2013 Hadoop中国技术峰会(China Hadoop Summit 2013)于北京福朋喜来登集团酒店隆重举行。来自国内外各行业领域的近千名CIO、CTO、架构师、IT经理、咨询顾问、工程师、Hadoop技术爱好者,以及从事Hadoop研究与推广的IT厂商和技术专家将共襄盛举。

何刚:Hadoop成为打开大数据之门金钥匙

  ▲IT168专题报道:http://www.it168.com/redian/Hadoop2013/

  白德鑫现在正在从事乐视网超级电视做数据挖掘。他表示,原来初期的业务做得适应不了当前业务发展,所以要进化。主要做的事情,构建每件事的时候,分析数据的平台,给乐视网的超级电视提供数据挖掘服务.如何从最初业务发展到现在,包括在超级电视上做实时分析和用户离线挖掘,通过数据挖掘,给很多业务部门提供数据挖掘的支持。

乐视网从零开始搭建大数据平台经验分享
▲乐视网TV开放平台系统研发部副总监白德鑫

  白德鑫提到自己是谷歌粉丝,目前正在做第一批超级电视数据挖掘。云视频搞清播放机的时候,那时候比较屌丝,只有几万台数据,数据当时也比较少,做了一些开机数之类的、日常数据。在业务里做,在数据节点做计算。

  后来性能越来越低,因为量越来越大,当时每天数据量,当时觉得很大,每天只有几千万行数据。这时觉得需要尝试一些新的技术,就用Cassandra为存储,存储日至,做简单处理切分以后放进里面,使用Hodoop进行计算,把结果塞到MySQL里。每天计算数据对自己来说是一个中间数据。可以出来一些报表。数据组合比较多,刚开始只是盒子、应用,后来还有一些视频播放内容,开始尝试把每天数据把MySQL和Kettle进行分析。但是做了三四个月又换了,使用Kafka、Storm、Hodoop、Hpase、Hive、Oozie、Sqoop,唯一修改是有一些大的,跟随开源社区来做,进行相应升级,尽量跟社区保持一致。

  乐视网大数据的起点

  白德鑫表示,刚开始只有一个数据分析员,抓一些数据,这是做的分析。电视的盒子,包括电视开机,看了什么电视节目,因为乐视网是做视频内容的,点开了什么视频节目,看了多长视频节目是通过心跳来做的,三分钟一个心跳,这个放到终端记录下来。播放有开始、有心跳,电视好一些,但是盒子有些用户看着看着直接断电了,结束就没有了,只能从心跳往回挖。

  自从发布超级电视以后,刚开始盒子价格比较贵,没人买,后来盒子卖299,卖出去很多。数据量按照三分钟心跳,几十万用户看视频,开机有心跳、播放视频有心跳,数据量特别大,没办法,我们当时上了四台。四台数据,看怎么发布的。之后输出,然后进行分析。看有哪些问题。

  当时做这个事情的时候一个人在做这些事情。然后后来有人离职,后来Cassandra这块没人了,交接的时候写完,对系统影响很大。在这个时候没人接手,他走了技术也走了,一个萝卜一个坑,萝卜走了坑很不容易填的。后来想找一个技术更牛一些的人帮我们来做,但是到现在一个多月没有找到。系统要继续做,数据也在疯狂增长,没办法就把Cassadnra去掉,往MySQL里放。

  通过另外一种方式,分析人员对我们意见很大,他多的时间有两个小时,要看今天开机量,和昨天的对比,再分时段看开机量,两个小时就过去了。他说系统老死机,我说是查询太慢了。希望系统可以做大一些。

  现阶段数据量的变化

  数据量从年初的三个月翻一番,到现在的我写得稍微早一些,到每周翻一番,现在每天数据量一百G,超级电视以及盒子卖得非常快。从设备行为快速向用户行为转变。我的计划量是多少,卖得多了老百姓开始考虑业务行动,按照互联网方式做,用户拿着我的盒子看什么使的,是看电影还是看电视剧,所以这个时候很多用户行为来分析。现在电视版本和盒子版本一周一个,这个版本每周更新一个系统版本,用户是不是接受,这些都在我们这里做分析。

  还有一个是我们在这里做了一些测试,因为在盒子里,我们叫UI里做一些测试,今天做一个海报推荐,明天加一个分析,看用户量高还是低。

  用户数据量增长很快,人也没有,一边找土豪开发者帮我们解决这个问题,另外自己要解决这个问题了。看数据分析的人,团队从内部调,数据分析招聘了一个。还有一个比较牛的是从公司别的部门挖的一个人。从今年年初开始履行,从原有的来进行。最后换成现在的方式。这个是自己在做,研发团队两个人,现在也是两个人。

  差不多半年搭成新的,新平台通过Kafka搭建,通过很多业务系统,点播、第三方的,包括一些日志,存储数据,以及需要对用户进行分析的数据。还有一些元数据,进行一些加工、处理。整合之后,其实就是前段所有的请求打到这里。Storme是最后的数据,另外Hodoop写的已经换了,数据量大以后,换其他的数据库,刚开始选,公司自己开始做自己的数据库。通过Hodoop以及数据服务wAD-HOC的搭建、处理,实时查询、开放数据平台也做了查询、进行了报表,对一些实时数据分析系统,还有做了门户,对各个业务提供数据服务,要调哪些数据。运营商需要知道在四川电信、某个电信部门的视频点播量。这些都是靠内部挖掘的。

  乐视的数据源通过前端的,从三款到六款,所有数据都打到这里,好处是在于跟着开源社区升级系统,依然可以接收数据,不影响业务。后面再随便操作。数据稍微做一下处理放到STORE,放到数据实时计算、然后进行拆分。现在没有用PEED,用户交互是OEE,把多个任务组合,把它放到,最后是一个结果,是一个业务流程的管理工具。

  数据输出之后通过查询,然后提供给别人,反馈到前端数据。这叫矩阵式的业务。这是进行的测试。服务器两台4Core cpu、6G,用户38万左右,38万有效数据。跟官网50万对比稍微差一些。因为我们的机器性能比他们差很多。

  当时做的时候两个节点做的,用了一个发送,用的是同步发送,消息格式是两种,格式是30字节、50字节、200字节。如果30字节38万,其他数据基本上是在30万左右。这是单台数据。单台差不多30万。这是我们的Spout集群,做一些业务拆分,比如有些数据需要组织,点播、心跳的,其实有些消息是随机的,虽然连续发过来的,但是每台机器都往外发,把数据写到里面,比方说播放时长,每个剧播放时长、按时段的数据计算。

  这个借用官网的图,我用的0.9几,实际上标准是一个,但是我们怕数据丢失,所以做了两个,其实做得比较简单,把数据复制。存的一些数据,这些没有太多可讲的,当时做了一些简单优化,这个不多说。默认垃圾是关闭的,自动回收,不想让它自动回收要手工做一些处理。这是Sqoop,原来的数据都在这里存储,我们导入集群里,我们用这个来做。当时做了一些事情,把数据抽取整合。

  没有写在上面的OLD,包括查询,有些数据处理处理的中间结果,中间结果到最后没有,不可能到使用阶段。

  大概讲一下ROI分析

  数据量每个月翻一番,现在不只这个了,我们原有架构没办法满足新的需求,之前就是日报,现在每天实时数据都很多。Kettle方式数据整合时间越来越长,采用hadoop-Storm方案,不会对数据挖掘产生太大的影响,资源稍微丰富一点,集群不够使的时候要添加机器,数据每日跑一次,每天晚上12点跑一次收取数据生成报表,到现在实时查询,时间还是比较长的,五分钟左右。因特尔给我们推荐过一个,但是它那个对内存要求太高,暂时做不到。现在都是6G内存服务器。支持硬件设备。

  目前还有很多事情要做,其实对我们来说不同阶段选择不同方案,刚开始初期的时候,一年卖几万个盒子,刚开始三千一台盒子,不可能建十几个节点的数据。人员流失会导致技术流失。技术储备和内部自荐比招聘牛人更快。现在招聘也很困难,hadoop圈里人比较少。新业务平台都要小心对待。否则出问题很难解决。数据这块还好一些,如果前端没有,对业务影响很大。

  数据安全很重要,我们有40多T数据,放到两个备份存储上。服务器多了就是爽,四台不够加八台,计算量可以很快。

1
相关文章