虽然Hadoop是眼下热闹非凡的大数据领域最热话题,但它肯定不是可以解决数据中心和数据管理方面所有难题的灵丹妙药。考虑到这一点,我们暂且不想猜测这个平台未来会如何,也不想猜测各种数据密集型解决方案的开源技术未来会如何,而是关注让Hadoop越来越火的实际应用案例。
案例之一:eBay的Hadoop环境
eBay分析平台开发小组的Anil Madan讨论了这家拍卖行业的巨擘在如何充分发挥Hadoop平台的强大功能,充分利用每天潮水般涌入的8TB至10TB数据。
虽然eBay只是几年前才开始向生产型Hadoop环境转移,但它却是早在2007年就率先开始试用Hadoop的大规模互联网公司之一,当时它使用一个小型集群来处理机器学习和搜索相关性方面的问题。这些涉及的是少量数据;Madan表示,但是就这个试验项目而言很有用;不过随着数据日益增加、用户活动日益频繁,eBay想充分利用几个部门和整个用户群当中的数据。
eBay的第一个大型Hadoop集群是500个节点组成的Athena,这个专门建造的生产型平台可以满足eBay内部几个部门的要求。该集群只用了不到三个月就建成了,开始高速处理预测模型、解决实时问题;后来不断扩大规模,以满足其他要求。
Madan表示,该集群现由eBay的许多小组使用,既用于日常生产作业,又用于一次性作业。小组使用Hadoop的公平调度器(Fair Scheduler)来管理资源分配、为各小组定义作业池、赋予权重、限制每个用户和小组的并行作业,并且设定抢占超时和延迟调度。
虽然Madan经常在台上畅谈Hadoop具有的实际价值,他也经常提到工作小组在扩建eBay基础设施时面临、继续竭力克服的几个主要挑战。下面列出了与Hadoop有关的一系列挑战:
可扩展性
就现有版本而言,主服务器NameNde存在可扩展性问题。由于集群的文件系统不断扩大,它占用的内存空间也随之扩大,因为它把整个元数据保存在内存中。1PB的存储容量大概需要 1GB的内存容量。几种切实可行的解决方案是分层命名空间分区,或者结合使用Zkeeper和HBase,实现元数据管理。
可用性
NameNde的可用性对生产型工作负载来说至关重要。开源社区正致力于冷备份(cld standby)、暖备份(warm standby)和热备份(ht standby)这几个选项,比如检查点(Checkpint)节点和备份(Backup)节点;从辅助NameNde切换avatar的Avatar节点;以及日志元数据复制技术。我们正在评估这些方案,以建立我们的生产型集群。
数据发现
在天生不支持数据结构的系统上支持数据监管、发现和模式管理。一个新项目准备把Hive的元数据存储区和wl合并成一个新系统,名为Hwl。我们旨在努力把该系统连接到我们的分析平台中,那样我们的用户很容易跨不同的数据系统发现数据。
数据移动
我们正在努力开发发布/订阅数据移动工具,以便跨我们不同的子系统,如数据仓库和Hadoop分布式文件系统(HDFS),支持数据拷贝和调和。
策略
通过配额(目前的Hadoop配额需要做一些改进)进行存储容量管理,能够制定良好的保留、归档和备份等策略。我们正根据集群的工作负载和特点,跨不同的集群努力定义这些策略。
度量指标、度量指标、度量指标
我们正在开发成熟可靠的工具,以便生成度量指标,用于度量数据来源、使用情况、预算编制和利用率。一些Hadoop企业服务器体现的现有度量指标有的不够全面,有的只是临时的,很难看清楚集群使用模式。
案例之二:通用电气借助Hadoop分析用户的情感
据通用电气公司(GE)Hadoop技术部的产品经理Linden Hillenbrand声称,情感分析很棘手--它不仅仅是个技术挑战,还是个业务挑战。
在通用电气公司,数字媒体小组和Hadoop小组通力合作,为高度依赖高级情感分析功能的营销部门开发了一款交互式应用软件。
此举目的在于,让营销小组能够通过我们开展的各项活动,评估外界对通用电气所持的看法(正面看法、中立看法或负面看法)。Hadoop负责支持该应用软件的情感分析部分,这部分对Hadoop来说是一种高度密集的文本挖掘应用环境。
他声称,利用 Hadoop应对技术层面的这些挑战带来了重大改进。
为了强调这一点,Hillenbrand提到了公司在情感分析方面采取的独特NSQL方法,这一方法带来了80%的准确率,也是Hadoop这个核心平台的基础,确保公司未来在数据挖掘方面求得发展。正如下图表明的那样,通用电气在利用数据挖掘以及新平台带来一种新的洞察力方面有了大幅改进。
Hillenbrand表示,就通用电气在内部对Hadoop未来的展望而言,情感分析项目取得了双重成功。它不仅为这家《财富》50强公司的营销小组提供了更准确的结果,还为这家公司的下一代深度数据挖掘、分析和可视化等项目奠定了基础。
案例之三:旅游行业的典型应用案例
Orbitz Worldwide旗下的全球消费者旅游品牌每天要处理数以百万计的搜索和交易。
通过关系数据库等传统系统,存储和处理这类活动生成的越来越庞大的数据量变得越来越难,因而这家公司求助于Hadoop,帮助消除部分复杂性。
这家公司的首席软件工程师Jnathan Seidman和另一名工程师Ramesh Venkataramiah一向乐于讨论这家旅游网站的基础设施如何加以管理。他们俩在最近面向多位听众的一次交流中讨论了Hive的作用,尤其是对一些关键搜索功能所起的作用。
Hadoop和Hive帮助这家在线旅游中心处理各项事务:改进让游客可以迅速筛选和分类酒店的功能,到查看更宏观内部趋势的功能,不一而足。据这两位工程师声称,rbitz的大数据问题让它成为运用Hadoop的"典型"。他们俩表示,面对很分散的服务网络--这些服务每天生成数百GB大小的当天日志,处理每天数百万的这些搜索和交易,这绝非易事。
他们俩演示了如何利用Hadoop和Hive来处理数据;可能更重要的是,演示了什么使得这家公司的特定问题最适合用Hadoop来处理(因为需要提醒的是一点,并非所有业务都有Hadoop的用武之地)
案例之四:Facebook更新Hadoop的状态
虽然一些公司和机构对其庞大的Hadoop系统秘而不宣,但是就已知存在的系统而言,Facebook的数据仓库Hadoop集群已成为世界上已知规模最大的Hadoop存储集群。
下面是关于这个单一HDFS集群的一些详细信息:
单一HDFS集群中存储容量达21PB
2000个机器
每个机器12TB(有几个机器是每个24TB)
1200个机器每个有8个处理器核心,800个机器每个有16个核心
每个机器有32GB内存
每个机器有15个映射/化简(map-reduce)任务
已配置存储容量总共超过21PB,大于之前大名鼎鼎的雅虎集群(14PB)。在Hadoop的早期,Facebook就与另外几个互联网巨擘,充分利用这种框架来管理其不断发展的业务。
由于每月活跃用户超过4亿个,页面浏览量超过5000亿人次,每个月共享的内容多达250亿则,对于自称能够处理大数据问题的任何技术而言,Facebook是再合适不过的应用环境。
Facebook的工程师与雅虎的Hadoop工程小组密切合作,把Hadoop推向更高的可扩展性和性能。Facebook有许多Hadoop集群,其中最大的一个集群用于数据仓库。下面一些统计数字描述了Facebook的数据仓库Hadoop集群的几个特点:
每天增加12TB的压缩数据
每天扫描800TB的压缩数据
每天处理25000个映射/化简作业
HDFS里面有6500万个文件
30000个客户机同时访问HDFS NameNde
Facebook的软件工程师、开源倡导者Jnathan Gray演示了Facebook如何一直使用更庞大Hadoop平台架构的一部分:HBase,支持生产环境下的在线应用程序和离线应用程序。
虽然幻灯片有点深奥,又针对特定环境,但是大致描述了HBase适合的那种复杂数据环境;而更重要的是,描述了这个环境需要怎样的一些重大调整和专门知识才加以管理。HBase仅仅是Facebk管理海量数据、为用户提供异常智能化服务的方法之一。
案例之五:Infchimps处理一百万倍的混合(mashup)
问一下Phillip "Flip" Krmer哪里能找到几乎任何的列表、电子表格或数据集,他会很高兴地向你介绍他的公司InfChimps,这家公司自称是"全世界的数据仓库"。
每个月都有成千上万的人访问该网站进行搜索,查询特定的数据。最近,该网站的用户在查询推特和社交网络数据。其较为传统的数据集包括其他热门数据,比如金融、体育比赛和股票数据。
Krmer表示,当然,用户们在别的地方也能查询这些数据集,但是他们常常访问InfChimps,未必是由于缺少数据或者很难获得数据,而是由于别处获取数据的成本极其高昂,或者数据采用了不适合使用的格式--至少对Infchimps面向的开发人员这个客户群来说是这样。
这家公司正在装配一个数据存储库,里面含有成千上万的公共和商业数据集,许多数据集达到了TB级。现代机器学习算法通过借助数据的一般结构,深入分析数据;即便数据有机地嵌入到链接数据集里面,也是如此。当然,所有这些工作会带来一个复杂的数据环境,势必需要一种能够跨多个对象运行的平台,无论对内部(数据收集和管理方面)来说,还是对平台用户来说,都是如此。
Infchimps让用户们可以借助使用Hadoop以及亚马逊云和Rackspace云的基础设施,充分利用数据。你可以看到,这家公司充分利用了弹性Hadoop,还利用了亚马逊网络服务(AWS)和Rackspace,同时在后端上使用Hadoop满足自己的要求。
这家公司让用户可以随时获取自己所需的Hadoop资源,无论这些是预定资源、临时资源还是专用资源。这种灵活的功能能够支持夜间批处理作业、合规或测试集群、科学系统和生产型系统。加上为基于Hadoop的功能新增了Irnfan(Infchimps的自动化系统配置工具)这一基础,弹性Hadoop让用户可以专门为手头的作业调整资源。Infchimps声称,这简化了根据需要时,映射或化简专门机器、高计算机器、高内存机器等机器的过程。
案例之六:Hadoop在挖掘军事情报方面的作用
Digital Reasning声称,就其中一个核心市场:美国政府而言,它在"自动理解大数据"方面一路领跑。
Digital Reasning致力于实现这个目标,为此最近竭力梳理来自美国情报部门的海量的非结构化文本数据,寻找可能危及国家安全的威胁。这款专门定制的软件用于面向实体的分析(entity-riented analytics),已成为Synthesys技术的核心,这项技术则是其业务的立足之本。
该公司使用Cludera的发行版,而且其Synthesys平台支持分布式的、面向列的开源数据库HBase。据Digital Reasning声称,"这种集成让我们得以获得超大规模处理功能,并且为政府和商业市场提供复杂数据分析能力。"
公司首席执行官Tim Estes在幻灯片中具体介绍了公司的基础设施和这一使用场景:
"Cludera及其Hadoop专家小组与我们紧密合作,在复杂分析领域取得了新的突破。Cludera和Digital Reasning共同为要求极高的客户提供了针对极其庞大的不同数据集,识别和关联实体的功能,"Digital Reasning的首席执行官Tim Estes如是说。
他继续说,以前,只能"孤立地分析关键情报数据孤岛",但是Synthesys集成了Cludera的Apache Hadoop(CDH3)和HBase支持功能后,我们可以把用于自动理解数据的算法与能以前所未有的方式处理规模和复杂性,把各部分联系起来的平台结合起来。"