10
英特尔 IT 部门实施 Apache Hadoop* 英特尔分发版软件的最佳实践 仅在五周之内,我们就实施了 基于 Apache Hadoop* 英特尔® 分发版的低成本、可完全实 现的大数据平台,这为英特尔 带来了价值数百万美元的 BI 成果。 要点概述 在认识到大数据对于商业智能(business intelligence, 以下简称 BI)的价值后,英特尔 2011 年开始研发基于 Apache Hadoop* 开源软件框架的大数据平台。在收到多家 厂商的产品分析和技术评估报告后,我们仅仅在五周之内就实施完成了基于 Apache Hadoop* 英特尔® 分发版(Intel® Distribution)的低成本、可完全实现的大数据平台。 该平台目前支持三个使用案例(更多使用案例正在开发中),为英特尔带来了价值数百 万美元的 BI 成果。 我们发现,为实施 Hadoop* 选择的硬 件、网络和软件都会对性能、总体拥有 成本和投资回报产生显著影响。要获得 最高价值的话,我们需要将经济高效的 基础架构与性能优化过的 Hadoop* 分发 版进行组合。要实现最高性能的话,则 需要实施最高效的数据传输及多个集成 方法。 这些集成方法涵盖了现有的企业 BI 平台,已经选定的 Hadoop* 平台和一 系列的流程。这些流程确保了在多租户 环境中实现最佳的使用效果。 从研究和优化工作中,我们在实施选定 Hadoop* 时获得以下收益: 通过一个设计来运行在最新英特尔® 构上的解决方案而获得高性能和高价值 IT@Intel 白皮书 英特尔 IT 部门 大数据和商业智能 2013 10 Ajay Chandramouly 英特尔 IT 部门大数据领域负责人 Sonja Sandeen 英特尔 IT 部门大数据产品经理 Chandhu Yalla 英特尔 IT 部门大数据工程经理 Yatish Goel 英特尔 IT 部门 BI 技术集成人员 Nghia Ngo 英特尔 IT 部门大数据性能工程师 Darin Watson 英特尔 IT 部门平台工程师 全面和我们的现有 BI 环境,以及安全、 管理和分析工具集成 为未来添加更加经济高效、灵活和可扩展 的大数据平台制定了可再用的实施指南 本白皮书介绍了英特尔 IT 部门快速实 施其首个大数据 Hadoop 平台的情况, 某些决策和优化的初衷,以及头三个使 用案例所取得的成果。未来,我们有望 加大对 Hadoop 平台的使用,以满足新 使用案例的要求,提升英特尔的运营效 率、市场覆盖范围和业绩。

英特尔 IT 部门实施 Apache Hadoop* - Intel€¦ · Hadoop 集群和其它环境之间迁移,以扩展 的需要来处理或查询的数据池。 为找到最符合我们目标的分发版,BI

  • Upload
    others

  • View
    33

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 英特尔 IT 部门实施 Apache Hadoop* - Intel€¦ · Hadoop 集群和其它环境之间迁移,以扩展 的需要来处理或查询的数据池。 为找到最符合我们目标的分发版,BI

英特尔 IT 部门实施 Apache Hadoop* 英特尔分发版软件的最佳实践

仅在五周之内,我们就实施了

基于 Apache Hadoop* 英特尔®

分发版的低成本、可完全实

现的大数据平台,这为英特尔

带来了价值数百万美元的 BI

成果。

要点概述

在认识到大数据对于商业智能(business intelligence, 以下简称 BI)的价值后,英特尔

于 2011 年开始研发基于 Apache Hadoop* 开源软件框架的大数据平台。在收到多家

厂商的产品分析和技术评估报告后,我们仅仅在五周之内就实施完成了基于 Apache

Hadoop* 英特尔® 分发版(Intel® Distribution)的低成本、可完全实现的大数据平台。

该平台目前支持三个使用案例(更多使用案例正在开发中),为英特尔带来了价值数百

万美元的 BI 成果。

我们发现,为实施 Hadoop* 选择的硬

件、网络和软件都会对性能、总体拥有

成本和投资回报产生显著影响。要获得

最高价值的话,我们需要将经济高效的

基础架构与性能优化过的 Hadoop* 分发

版进行组合。要实现最高性能的话,则

需要实施最高效的数据传输及多个集成

方法。 这些集成方法涵盖了现有的企业

BI 平台,已经选定的 Hadoop* 平台和一

系列的流程。这些流程确保了在多租户

环境中实现最佳的使用效果。

从研究和优化工作中,我们在实施选定

的 Hadoop* 时获得以下收益:

• 通过一个设计来运行在最新英特尔® 架

构上的解决方案而获得高性能和高价值

IT@Intel 白皮书英特尔 IT 部门

大数据和商业智能

2013 年 10 月

Ajay Chandramouly

英特尔 IT 部门大数据领域负责人

Sonja Sandeen

英特尔 IT 部门大数据产品经理

Chandhu Yalla

英特尔 IT 部门大数据工程经理

Yatish Goel

英特尔 IT 部门 BI 技术集成人员

Nghia Ngo

英特尔 IT 部门大数据性能工程师

Darin Watson

英特尔 IT 部门平台工程师

• 全面和我们的现有 BI 环境,以及安全、

管理和分析工具集成

• 为未来添加更加经济高效、灵活和可扩展

的大数据平台制定了可再用的实施指南

本白皮书介绍了英特尔 IT 部门快速实

施其首个大数据 Hadoop 平台的情况,

某些决策和优化的初衷,以及头三个使

用案例所取得的成果。未来,我们有望

加大对 Hadoop 平台的使用,以满足新

使用案例的要求,提升英特尔的运营效

率、市场覆盖范围和业绩。

Page 2: 英特尔 IT 部门实施 Apache Hadoop* - Intel€¦ · Hadoop 集群和其它环境之间迁移,以扩展 的需要来处理或查询的数据池。 为找到最符合我们目标的分发版,BI

IT@Intel 白皮书 英特尔 IT 部门实施 Apache Hadoop* 英特尔分发版软件的最佳实践

2 www.intel.com/cn/IT

IT@INTELIT@Intel 计划将全球各地的 IT 专业人员

及其在我们机构中的同仁紧密联系在一

起,共同分享经验教训、方法和战略。

我们的目标十分简单:分享英特尔 IT

部门最佳实践,获得业务价值并实现 IT

竞争优势。如欲了解更多信息,请访问

www.intel.com/cn/IT 或联系您当地的英

特尔代表。

业务挑战在数据极大丰富的时代,英特尔等广大企

业需要通过对数据的收集、分类和分析才

能实现可执行的商业智能(BI),发挥数

据的真正价值。在认识到有必要将大数据

功能添加至我们的 BI 业务后,英特尔 IT

部门组建了一个团队来评估几种 Apache

Hadoop* 分发版,并考虑实施哪个选项。

我们的目标是在十周或更短的时间内交付

一个供实际工作环境使用平台。

如图 1 所示,英特尔的大数据平台包括三

个组件:

• 大规模并行处理(massively parallel

processing,以下简称 MPP)平台。与

用于处理在线交易的传统业务分析解

决方案不同, MPP 平台用于大规模分

析。MPP 平台使用基于英特尔® 至强™

处理器 E7 家族的刀片服务器。我们使

用 MPP 平台,需要以低于企业数据仓

库的使用成本来获得高性能。

• Apache Hadoop* 英特尔® 分发版 (Intel®

Distribution)。我们之所以选择英特尔®

分发版,是因为它能够处理连接条件未

知且以识别模式为目标的海量可变、多

维、非结构化数据。英特尔® 分发版是使

用基于英特尔® 至强™ 处理器 E5-2600 产

品家族的工业标准服务器所构建。

• 预测分析引擎。我们开发该引擎的目的

在于通过实时、持续的预测分析提供信

息和洞察。

为确保从一开始就获得令人满意的投

资回报 (return of investment,以下简

称 ROI),我们以三个需要大数据平台的

使用案例作为目标:上下文推荐、事件

预测和 web 分析。我们的战略是从小做

起,尽量降低成本同时改善解决方案。

三个可供考虑的使用案例有助于确保我们

设计出能够处理各种数据类型、在未来更

易于适合其他使用案例的平台。

图 1. 英特尔的大数据平台包括三个组件:大规模并行处理(MPP)平台, Apache Hadoop* 英特尔®

分发版和预测分析引擎。

目录

要点概述 .......................................................................1

业务挑战 .......................................................................2

Hadoop* 分发版注意事项 .........................3

Hadoop* 基础架构注意事项 ...................4

数据集成注意事项 .........................................4

解决方案 .......................................................................4

选择 Hadoop* 分发版 ....................................5

为高度可用而设计 .........................................6

选择并构建基础架构

(服务器、网络和机架设计) ...........6

实施数据安全和文件管理 .......................7

设置访问管理 .....................................................7

支持数据与现有的商业智能环境 .....7

实施流程变更 .....................................................8

成果 ....................................................................................9

三个大数据使用案例及其估值 ...........9

结论 ................................................................................10

更多信息 ...................................................................10

缩写词 .........................................................................10

MPP 平台• 第三方解决方案• 比传统系统快 100 倍• 基于英特尔® 至强™ 处理器 E7 家族的刀片服务器可轻松扩展

Apache Hadoop* 英特尔® 分发版• 基于 Apache Hadoop*• 针对英特尔® 至强™ 处理器、固态盘和

10 GbE 进行了优化(高达 20 倍的性能提升)• 分布式文件系统可线性扩展• 包括 HBase* NoSQL 数据库

预测分析引擎• 内部开发• 支持实时、持续的预测服务• 英特尔® 至强™ 处理器 E7 家族

Page 3: 英特尔 IT 部门实施 Apache Hadoop* - Intel€¦ · Hadoop 集群和其它环境之间迁移,以扩展 的需要来处理或查询的数据池。 为找到最符合我们目标的分发版,BI

英特尔 IT 部门实施 Apache Hadoop* 英特尔分发版软件的最佳实践 IT@Intel 白皮书

www.intel.com/cn/IT 3

熟练管理开源开发和支持是我们在初期

面临的主要挑战。习惯了使用关系数据

库语言和传统序列算法的英特尔 IT 部门

应用开发人员,必须学会在 Java* 中编写

MapReduce* 代码和使用分布式算法。这

些技能虽不是本白皮书的主题,但对大数

据平台的实施却很重要,在我们的发现流

程和实施过程中得到了有效利用。

虽然许多领先的互联网公司已率先使用了

大数据平台并因此获得了出色价值,但对

于很多企业来说,大数据处理仍然是新事

物。随着人们对大数据平台的兴趣日益浓

厚,用于实施大数据平台的产品也变得日

益复杂和多样。我们认为 IT 部门有必要

评估 Hadoop 分发版、基础架构需求和数

据集成技术,以确保交付可带来最高投资

回报的平台。

Hadoop* 分发版注意事项Hadoop* 是 Apache 软件基金会的一个顶级

开源项目。英特尔等多家供应商提供自己

的商用 Hadoop 分发版,将基本软件堆栈

与诸如 Apache Hive*、Apache Pig* 和 Apache

Sqoop* 等其它 Hadoop 软件项目作组合。

这些分发版必须与数据仓库、数据库、以

及其它数据管理产品相集成,使数据可在

Hadoop 集群和其它环境之间迁移,以扩展

的需要来处理或查询的数据池。

为找到最符合我们目标的分发版,BI 大数

据项目团队选择了三种 Hadoop 分发版作

出评估,使用一套明确的评估标准将英特

尔分发版与另外两种 Hadoop 分发版进行

对比,该套标准包括以下内容:

Apache Hadoop 软件的英特尔® 分发版

Hadoop 环境的设置对于从其余硬件和软件获得全部优势至关重要。Apache

Hadoop* 英特尔® 分发版(Intel® Distribution)包括 Apache Hadoop* 和其它经

英特尔优化以充分利用硬件增强型性能和安全功能的软件组件。

英特尔分发版是一款开源软件产品,用于在 Apache Hadoop 上支持大量数据分

析。它针对 Apache Hive* 查询进行了优化,可为开源 R* 统计编程语言提供连

接器,并支持使用 Intel® Graph Builder for Apache Hadoop* 软件 — 一种函数库,

可将大型数据集构建到图形中,以便显示数据之间的关系 — 进行图形分析。

英特尔分发版中附带的 Intel® Manager for Apache Hadoop* 软件提供了一种管理

控制台,可用于简化 Hadoop* 的部署、配置和监控。

英特尔分发版已在全球范围内发布以供用户评估。

主要特性:

• 通过针对英特尔® 至强™ 处理器和英特尔® 10 GbE 服务器以太网适配器进行优

化来提升 Hadoop 性能

• 通过 HBase* — 在 Hadoop 分布式文件系统(Hadoop Distributed File System* 以

下简称 HDFS)之上运行的开源非相关性分布式数据库 — 提供可支持单元级

的基于角色的访问控制

• 借助 HBase 和 HDFS 实现多个站点的扩展和自适应的数据复制

• 英特尔分发版的 Hive 查询性能和开源 Hive 对比获得了高达 3.5 倍的提升

• 具有 R 编程语言连接器,支持统计分析

• 通过 Intel Graph Builder for Apache Hadoop 软件进行图形分析

Page 4: 英特尔 IT 部门实施 Apache Hadoop* - Intel€¦ · Hadoop 集群和其它环境之间迁移,以扩展 的需要来处理或查询的数据池。 为找到最符合我们目标的分发版,BI

IT@Intel 白皮书 英特尔 IT 部门实施 Apache Hadoop* 英特尔分发版软件的最佳实践

4 www.intel.com/cn/IT

• 整体平台架构,包括安全集成、高度可

用和多租户支持

• 应用架构和功能,包括与提取-转换-加

载(extract-transform-load,以下简称

ETL)工具、机器学习和数据挖掘库

Mahout*,以及基于 R 的数据管理和分

析收集(RHadoop*)的集成

• 优化平台硬件功能的能力

• 管理和运行,包括升级、供应和配置管理

• 供应商支持

Hadoop* 基础架构注意事项Hadoop 框架通常在使用标准硬件构建的

大型服务器集群上执行并行处理,以提供

经济高效的高性能分析平台。为取得高投

资回报,英特尔 IT 部门找到了一种服务

器-机架设计,它可让我们选择的 Hadoop

分发版经济高效地运行,并提供硬件辅助

的信息安全技术。我们还想选择并实施网

络和存储解决方案,后者能够处理 BI 使

用案例的结构化和多结构化数据,同时实

现出色的数据传输速度、可扩展功能和数

据安全。

数据集成注意事项为将数据从我们的三种使用案例输入到大

数据平台并将该平台与我们现有的 BI 环

境进行集成,我们需要确定一种数据集成

方法。在大数据的多结构化领域中,我们

的目标是从源中提取数据,并快速、高效

地将该原始数据加载到大数据容器。大数

据引擎的分布式计算和存储功能用于执行

数据转换,并运行可将海量数据压缩为有

效汇总结果的算法。例如,MapReduce 是

一种数据压缩算法。

ETL 工具可将数据从源迁移至目标。由

于没有单一的 ETL 工具可满足英特尔的

多样化业务和项目要求,英特尔 IT 部门

进行了全面研究,列出了可供考虑的工

具,我们随后评估了测试案例场景中选

择的工具。ETL 工具注意事项包括成本、

性能、与环境的集成、容易使用、大数

据功能、元数据管理、代码移植、支持

及其它因素。

解决方案英特尔 IT 部门的“从小做起”战略为我

们提供了一种迭代灵活的方案。我们与英

特尔 IT 部门 BI 团队及其他事业部通力协

作,仅仅在五周内就设计和实施了一种

16 台服务器、192 个内核的 Hadoop 平

台,包括所有软件和数据集成解决方案。

为了实现最佳的投资回报,该团队被指

派开发一个可满足我们当前和可预见未

来需求的平台设计和架构。在这五周的

时间内,我们实施和测试了平台设计,

将它部署于企业,并再作优化和在线运

行。专门为三个预期使用案例量身定制

解决方案可帮助我们快速迁移,并降低

资金风险。我们提供了一种可扩展的平

台,它能够满足不断变化的需求,适应

未来的其他使用案例

我们先选择 Hadoop 分发版、基础架构和

数据集成方法,再实施该解决方案(见

图 2),这种顺序对于未来开展工作具有

重要的实施程序指导价值

选择使用案例选择特定的业务使用案例

来设计解决方案

选择 Apache Hadoop* 分发版 为高度稳定而设计

选择硬件并构建基础架构

实施数据安全和文件管理 设置访问管理

支持与现有 BI 环境进行数据集成 流程变更

上线实施实际项目,开始实现业务价值

图 2. 英特尔 IT 部门为指定和实施 Apache Hadoop* 分发版所采取的步骤,对于未来实施 Hadoop 具有重要的实施程序指导价值。

Page 5: 英特尔 IT 部门实施 Apache Hadoop* - Intel€¦ · Hadoop 集群和其它环境之间迁移,以扩展 的需要来处理或查询的数据池。 为找到最符合我们目标的分发版,BI

英特尔 IT 部门实施 Apache Hadoop* 英特尔分发版软件的最佳实践 IT@Intel 白皮书

www.intel.com/cn/IT 5

选择 Hadoop* 分发版我们测试了三个 Hadoop 分发版,只有专

为在英特尔® 架构服务器上运行而设计的

英特尔分发版满足所有要求,且不存在重

大问题。而且,它可在支持充分利用最新

硬件增强型功能的开放平台上不断提供创

新机会。部署在我们的硬件平台上,英特

尔分发版可提供以下优势:

• 相比传统基础架构的性能提升(借助针

对英特尔® 至强™ 处理器和 10 GbE 网络

实施的 Hadoop 优化)

• 能供未来使用的设计,集成功能支持下

一代分析、可视化和硬件解决方案

• 英特尔供应商提供的企业级支持和服务

如图 3 所示,英特尔分发版是一套全面的

解决方案,包含源自 Apache Hadoop 开源

项目的完整分发版、MapReduce、Hadoop

分布式文件系统*(HDFS)以及 Hive* 数

据仓库基础架构和 Pig 数据流语言等相关

组件(见表 1)。英特尔分发版还支持

Apache Mahout(一种机器学习库,具有

MapReduce 算法和 Intel® Graph Builder for

Apache Hadoop* 软件)。预集成的解决方

案元素可简化部署和管理,缩短上市时

间。这些元素有助于尽量减少培训和资金

投资。

Intel® Manager for Apache Hadoop* 软件部署、配置、监控、告警和信息安全

连接器摄取、分析、视觉化

ZooKeeper*协调

MapReduce*分布式处理框架

Hadoop 分布式文件系统*

Sqoop*数据交换

HBase*列存储

Oozie*工作流

Hive*SQL 查询

Pig*编写脚本

Mahout*机器学习

Flume*日志采集器

英特尔专有贡献至开源社区的英特尔增强组件未做任何变更的开源组件

图 3. Apache Hadoop* 软件的英特尔® 分发版提供了一套大数据平台部署、配置、管理和保护的全

面解决方案。

表 1. 大数据平台软件设计组件功能

组件 功能

Intel® Manager for Apache Hadoop* 软件

一种管理控制台,可简化 Apache Hadoop 的部署、配置和监控针对 Apache

Hadoop* 软件的英特尔® 分发版中的意外事件和故障,它支持自动化配置告

警和响应。

Hadoop 分布式文

件系统*(HDFS)一种分布式、可扩展、基于 Java* 的文件系统,能够为海量非结构化数据提

供存储层。

MapReduce* 一种软件框架,该框架还可提供 Reduce 函数以汇总 Map 结果,为查询确定

答案。

HBase* NoSQL 数据库,支持在 Hadoop 中快速进行低延迟查找。它可将交易功能添

加至 Hadoop,帮助用户更新、加插和删除。

Hive* 基于 Hadoop 数据仓库类框架,支持用户以类似 SQL 语言(称为

HiveQL)写入查询内容,该内容随后会转换为 MapReduce。

Oozie* Oozie 是一种工作流调度程序系统,用于借助可运行 MapReduce 和 Pig 任务的操作管理 Hadoop 工作流任务。

Pig* 基于 Hadoop 的语言,相对易于学习,适用于极深极长的数据管道,突破了 SQL 的局限。

Mahout* 一种数据挖掘库,采用集群、回归测试和统计建模中最常用的数据挖掘算法,并使用 MapReduce 模型实施这些算法。

Flume* 在 Hadoop 中加载数据的框架。

Sqoop* 一种连接工具,用于将非 Hadoop 数据存储(如关系数据库和数据仓库)中的数据迁移至 Hadoop。

ZooKeeper* 一种集中服务,用于保持配置信息和命名,并提供分布式同步和组服务。

Page 6: 英特尔 IT 部门实施 Apache Hadoop* - Intel€¦ · Hadoop 集群和其它环境之间迁移,以扩展 的需要来处理或查询的数据池。 为找到最符合我们目标的分发版,BI

IT@Intel 白皮书 英特尔 IT 部门实施 Apache Hadoop* 英特尔分发版软件的最佳实践

6 www.intel.com/cn/IT

表 2. 基本平台设计组件

组件 实施 优势

服务器 基于英特尔® 至强™ 处理

器 E5-2600 产品家族(6

核)的 16 台双路服务器

提供性能、能效、内置功能和成本效益的最佳

组合,包括用于预防数据瓶颈的英特尔® 集成

I/O

RAM 每数据节点 96GB 支持 HBase* 和 MapReduce* 共存

驱动器 每数据节点 25 TB HDFS*

原始存储

满足大数据平台的深度存储要求

网络适配器 10 GbE 融合网络适配器

可提供更多带宽帮助在服务器间导入和复制大型数据集

交换机 2 个 48 端口 10 GbE 支持高带宽连接以实现企业级性能

每节点 2 个 10 GbE 连接集群结构

1 GbE HP iLo 和 1 GbE Management

分布层集群结构聚合层

数据节点

网关节点 NameNode/JobTracker

数据节点

集群管理节点和 NameNode/JobTracker

2 个 48 端口 10 GbE 机架顶部交换机

2 个 48 端口 10 GbE 机架顶部交换机

20 GbE 中继支持 Hadoop* 结构

公共接口 2 个 10 GbE

20 GbE 中继支持 HP iLo*、Management、Public

集群概述

图 4. 英特尔 IT 部门的大数据平台硬件网络和机架设计占用了我们生产中心的两个机架,而且借助

近 100TB 的目标可用存储空间能够支持三向复制。

为高度可用而设计我们针对网络和 NameNode 实施了一种高

度稳定的设计,其中 NameNode 是 HDFS

的核心部分,可保存所有文件的目录树。

在 NameNode 层提供高度稳定的性能对于

强化平台以减少故障至关重要。

对于跨多个机架的 Hadoop 安装,我们

希望确保复制的数据保存在不同的机架

上。该设计可防止交换机丢失。交换机

丢失会导致部分数据不可用,因为所有

的复制数据都位于它的下面。在我们的

设计中,HDFS 组件能够识别机架,而且

我们对 HDFS 存储进行了三向复制。该

高度稳定的设计可在 NameNode 或部分

网络发生故障时,有效防止意外的宕机

情况。

选择并构建基础架构(服务

器、网络和机架设计)为帮助选择 Hadoop 分发版,该团队精诚

合作,设计出硬件基础架构和网络。他

们还调整了该环境的规模。为使计算和

存储密集型应用具备出色的成本效益和

可作扩展,他们选择了具有多个节点的

集群结构并使用基于英特尔® 至强™ 处理

器 E5 家族(见表 2)的服务器。这些服

务器连接了 480 Gbps 的集群结构带宽。

服务器驻留在生产中心的两个机架中,

可提供 300TB 的 HDFS 存储容量,借助近

100 TB 的目标可用存储空间能够支持三

向复制(见图 4)。

Page 7: 英特尔 IT 部门实施 Apache Hadoop* - Intel€¦ · Hadoop 集群和其它环境之间迁移,以扩展 的需要来处理或查询的数据池。 为找到最符合我们目标的分发版,BI

英特尔 IT 部门实施 Apache Hadoop* 英特尔分发版软件的最佳实践 IT@Intel 白皮书

www.intel.com/cn/IT 7

平台企业管理设计

为了运行、管理和监控英特尔的内部大

数据集群,英特尔 IT 部门使用了 CentOS*

6.3 — 一种企业级 Linux* 发行版,源自向

公众免费提供的资源。重要的管理要素包

括第三方企业配置管理软件、开源监控和

性能管理工具(Nagios* 和 Ganglia*)、第三

方管理实用程序和第三方身份验证服务。

另外,我们还使用了基于内核的虚拟机

(Kernal-based Virtual Machine,以下简

称 KVM)。该这套开源的,完整的,为

基于 x86 硬件上的 Linux 提供的虚拟化解

决方案包含重要的虚拟化扩展功能,如

英特尔® 虚拟化技术(Intel® Virtualization

Technology2,以下简称英特尔® VT)。我

们在网关上使用 KVM 执行企业软件组件

及核心 Hadoop 生态系统组件之间的进程

隔离,以提升平台的稳定和管理。

实施数据安全和文件管理数据安全是运行环境的一项重要要求,因

为有些数据包含客户记录和其他机密信

息。我们的安全计划使用一种安全的集群

参考设计,需要极其安全的第三方 10 Gb

机架交换机将 Hadoop 流量与我们的共享

访问和分布层隔离,并增强网络设计的灵

活程度。

2 英特尔® 虚拟化技术要求计算机系统搭载兼容的英特尔® 处理器、基本输入输出系统(BIOS)及虚拟机监控器(virtual machine monitor,简称 VMM)。其运行、性能及其他表现取决于硬件及软件的配置。相关应用软件可能无法与所有的操作系统兼容。请咨询您的电脑制造商。更多信息请访问:www.intel.com/go/virtualization

该设计的一个关键组件是专用网关服务

器,与集群的所有连接和交互必须通过该

服务器完成。由于集群环境位于防火墙的

后面,我们只会暴露该网关服务器,使它

成为主要接口。所有访问 Hadoop 环境的

用户和应用都需通过该网关服务器连接。

该网关服务器还有其他用途,如任务启

动和 KVM 托管。为了摆脱该设计的潜在

带宽方面的局限并提升网络弹性,我们

将聚合处的多机箱链路聚合组(Multi-

Chassis Link Aggregation Group, 以下简称

M-LAG)和机架顶部交换机,与双 10 GbE

绑定网卡和集群结构网络隔离功能进行组

合。3 我们还在多个交换机之间实现负载

均衡作容量扩展。

由于我们的 Hadoop 平台是一种支持多个

虚拟机实体同时运作的环境,因此我们另

开发了一个系统来限制项目之间的数据访

问。这可防止用户意外删除另一用户的

数据,和未授权查看数据。为限制对单

个项目的访问,我们在本地网关服务器

和 HDFS 上为每个项目设计和建立了专用

文件夹。我们通过授予项目组许可,控

制对项目文件夹的访问。我们的访问管

理系统,将项目组分配至企业访问管理

(enterprise access management,以下简

称 EAM)权限。

3 LAG 是一种采用多个以太网链路多路复用以增加带宽和提供冗余的方法。M-LAG 是一种带有可在单独机箱上终止的组成端口(constituent port)的 LAG。

设置访问管理为使访问管理协同 CentOS 操作系统上的

其他应用流畅运行,我们需要设法降低管

理用户、群组、密码、许可、请求处理、

跟踪和用户审计的维护费用。我们的解决

方案旨在对用户提供管理,并将用户与

Microsoft Active Directory* 和英特尔 IT 部

门开发的现有 EAM 工具集成。该解决方

案可帮助我们经由 Active Directory 对用户

进行身份验证,并使用 EAM 工具管理用

户访问。该解决方案支持用户使用 Active

Directory 账户的 ID 和密码访问系统。

我们的访问管理系统可通过模拟用户的

Active Directory 账户自动创建用户。设置

该便利的功能时,需要使用第三方工具集

成 Active Directory,并使用英特尔 IT 部门

工具与 EAM 整合。

支持数据与现有的商业智能

环境全面研究和所列工具 PoC 比较表明,我

们需要多种数据集成工具。我们选择了

一组 ETL 工具,并就工具对任务是否适

用提供了规范方面的指导。每种工具配

有相应支持,规定用于满足特定业务要

求(见图 5)。

Page 8: 英特尔 IT 部门实施 Apache Hadoop* - Intel€¦ · Hadoop 集群和其它环境之间迁移,以扩展 的需要来处理或查询的数据池。 为找到最符合我们目标的分发版,BI

IT@Intel 白皮书 英特尔 IT 部门实施 Apache Hadoop* 英特尔分发版软件的最佳实践

8 www.intel.com/cn/IT8 www.intel.com/IT

IT@Intel White Paper Intel IT Best Practices for Implementing Apache Hadoop* Software

INTEL® DISTRIBUTION OF APACHE HADOOP*

Zoo

Keep

er*

MapReduce*

Hadoop Distributed File System* (HDFS)

HBase* Oozie* Hive* Pig*

HDFSEncryption

CompressionRHadoop* Mahout*

Intel® Manager forApache Hadoop* Software Ganglia* Nagios*

PROCESS

PrescriptiveGuidance

Training

Governance

Engagement

ServiceManagement

ChangeRelease

DATAINTEGRATION

EnterpriseETL

JDBCConnectors

Sqoop*

Flume*

SFTPSMB Client

OTHER SOFTWARE AND DRIVER INTEGRATION

HiveODBC GITScheduler MongoDB*

Hadoop AdapterHBaseODBC

NFSConnectors

BUSINESS INTELLIGENCE FRONT-END TOOLS

Predictive/RecommendationAnalytics Mobile Devices Spreadsheets Reporting

Applications

CONNECTIVITY LAYER

Native/ODBCDrivers Multi-Source Data as a Service Hive/HBase Open

DB Connectivity

INFRASTRUCTURE

Servers SecurityNetwork OperatingSystem

EAM/ADIntegration

HighAvailabilityStorage

MULTISTRUCTURED DATA• Web Log• XML• Video/Audio• Social Media• Flat File

BUSINESS INTELLIGENCECONTAINER STRUCTUREDDATA• EDW• MPP• RDBMS

PREDICTIVEANALYTICS

ENGINE

ETL/EL

Users andDevelopers

ETL/EL

AD – Microsoft Active Directory*; DB – database; EAM – enterprise access management; EDW – Enterprise Data Warehouse; JDBC – Java* database connectivity; MPP – massively parallel processing; NFS – network file system; ODBC – open database connectivity; RDBMS – relational database management system; SFTP – secure file transfer protocol; XML – Extensible Markup Language

Having clear positioning on each tool and defining the tool decision flow helps our BI and big data project teams make the right decisions.

• Flume. Specified for scenarios requiring the collection, aggregation, and writing to HDFS of streaming log data from event logs, system logs, web clicks, and similar sources.

• Sqoop. Recommended for relational database management-to-HDFS data movement and vice versa. Decision boxes are created in the decision flow to avoid its limitations with certain data types.

• Command-line HDFS “put file.” Employed for use in simple, straight file loads where data is already being delivered to the big data environment and requires no joins or transformations. The put file is supported through a script/command-line interface only.

• Enterprise ETL tool. Used for complex use cases that other data ingestion ecosystems, such as Sqoop and Flume, do not support. We fully support such ETL tools for scenarios such as business groups needing complex processing and complicated transformation work up front. An enterprise ETL tool can prepare a data file that can be used to load the data into HDFS using the put file command.

• Capacity scheduler. Deployed to prevent the impact of capacity on our multitenancy Hadoop environment. We use a capacity scheduler to manage the workload, allocating certain map and reduce slots for each project. Running batch is also a critical solution piece. Through integration with our enterprise scheduler tool, we enable users to trigger a job based on a time, an event, or a combination of both.

Making Process ChangesImplementing a multitenancy cluster compromises control over compute resources to some degree. To counter this potential issue, we established working procedures and control processes that allow us to better assign and prioritize computer resources commensurate with job priority. We also instituted a review process to determine when a project needs our Hadoop platform or is better suited to another of our BI analytics solutions.

For support, issue escalation, and service requests, we aligned with our current IT direction, using a software-as-a-service application that provides service management for issue escalation and request service. In addition, we are currently working on guidance documentation for developers and project managers, training documentation and classes,

Figure 5. For data integration with existing business intelligence tools, Intel IT’s big data platform uses a variety of tools, each supporting a specific business need.

明确定位每种工具及定义工具决策流,可

帮助我们的商业智能和大数据项目团队做

出正确决策。

• Flume。指定用于需要从事件日志、

系统日志、web 点击和类似来源收

集、聚合日志数据流,并将其写入

HDFS 的场景。

• Sqoop。推荐用于关系数据库管理至

HDFS 数据迁移,反之亦然。判定框在

决策流程中创建,以避免在某些数据类

型方面存在的局限。

• 命令行 HDFS“put 文件”。用于简单、

直接的文件负载,在这种文件负载中,

数据已被发送至大数据环境,无需连接

或转换。该 put 文件只通过脚本/命令行

界面获取支持。

• 企业 ETL 工具。用于 Sqoop 和 Flume 等

其他数据获取生态系统未支持的复杂使

用案例。我们完全支持需要预先处理工

作繁重和转换工作复杂的业务部门)使

用 ETL 工具。企业 ETL 工具能够准备一

种数据文件,它可借助 put 文件命令用

于将数据加载至 HDFS。

• 容量调度程序。用于防止容量对多实体

虚拟机运作的 Hadoop 环境产生影响。

我们使用容量调度程序管理工作负载,

分配某个地图并减少每个项目的插槽。

运行批处理也是解决方案的重要一环。

我们将企业调度程序工具集成,可帮助

用户根据时间、事件或两者触发任务。

实施流程变更实施多租户集群会在一定程度上削弱对计

算资源的控制。为了应对这一潜在问题,

我们建立了工作程序和控制流程,以更好

地根据相应的任务优先级分配和优先处理

计算资源。我们还制定了一项审查流程,

以判断项目是需要我们的 Hadoop 平台,

还是更适合另一种 BI 分析解决方案。

在支持、问题上报和服务请求方面,我们

坚持沿着当前的 IT 发展方向前进,使用

软件即服务应用对问题上报和请求服务提

供服务管理。另外,我们正在为开发人员

和项目经理编制指南,制定培训文档和设

立培训班级,为迁移至该平台制定变更和

发布流程,以及针对代码审查与标准和最

佳实践遵从监控制定治理流程。

Apache Hadoop* 软件的英特尔® 分发版

Zoo

Keep

er*

MapReduce*

Hadoop 分布式文件系统*(HDFS)

HBase* Oozie* Hive* Pig* HDFS

加密压缩 RHadoop* Mahout*

Intel® Manager forApache Hadoop* 软件 Ganglia* Nagios*

流程

规范方面的指导

培训

治理

参与

服务管理

变更发布

数据集成

企业 ETL

JDBC 连接器

Sqoop*

Flume*

SFTP 中小企业客户

其他软件和驱动程序集成

HiveODBC GIT调度程序

MongoDB* Hadoop 适配器

HBaseODBC

NFS 连接器

商业智能前端工具

预测/推荐分析 移动设备 电子数据表 报告应用

连接层

本地/ODBC 驱动程序 多源 数据即服务

Hive/HBase 开放数据库连接

基础架构

服务器 数据安全网络 操作系统 EAM/AD 集成

高度稳定存储

多结构化数据• Web 日志• XML• 视频/音频• 社交媒体• 平面文件

商业智能容器结构化数据

• EDW• MPP• RDBMS

预测分析引擎

ETL/EL

用户和开发人员

ETL/EL

AD – Microsoft Active Directory*;DB – 数据库;EAM – 企业访问管理;EDW – 企业数据仓库;JDBC - Java* 数据库连接;MPP – 大规模并行处理;NFS – 网络文件系统;ODBC – 开放数据库连接;RDBMS – 关系数据库管理系统;SFTP – 安全文件传输协议;XML – 可扩展标记语言

图 5. 为了与现有商业智能工具进行数据集成,英特尔 IT 部门的大数据平台使用了各种工具,每种工具都可满足特定业务需求。

Page 9: 英特尔 IT 部门实施 Apache Hadoop* - Intel€¦ · Hadoop 集群和其它环境之间迁移,以扩展 的需要来处理或查询的数据池。 为找到最符合我们目标的分发版,BI

英特尔 IT 部门实施 Apache Hadoop* 英特尔分发版软件的最佳实践 IT@Intel 白皮书

www.intel.com/cn/IT 9

成果英特尔首个配有 Hadoop 英特尔分发版的

内部大数据计算密集型生产平台于 2012

年末发布(见图 6)。该平台已经为我们

的头三个使用案例带来了巨大价值,帮助

我们发现新商机、降低 IT 成本并推出新

产品。

通过实施 Hadoop,英特尔 IT 部门客户现

在可在强大的可扩展企业就绪型平台 —

基于在我们 BI 功能环境中集成的英特尔

分发版 — 上充分发挥大数据的效用。我

们的三个使用案例已完全投入运行,多个

新使用案例也处于不同开发阶段。

我们的内部大数据平台可扩展 BI 数据容

器战略,它支持:

• 结构化和多结构化分析数据使用案例

• 可完全满足当前和近期需求的平台设计

和架构

• 适应需求变化的可扩展设计

三个大数据使用案例及其估值英特尔 IT 部门为三个特定使用案例设计

平台,几乎立即为公司带来了卓越的价

值。每个使用案例正在为英特尔带来价

值百万美元的 BI 成果,或具有这方面的

潜力。

上下文推荐引擎

我们的大数据平台支持通用、可再用的上

下文感知推荐引擎,及为基于位置的移动

服务提供分析功能。该服务整合了全新的

智能上下文感知功能 — 包括协作过滤算

法,以帮助用户借助地图管理技术查找产

品、信息和服务。该推荐引擎设计正用于

更多使用案例。在销售方面,我们正借助

它判定向不同经销商提供哪些产品,以尽

量提升经销商和我们的销售业绩。我们的

推荐引擎未来可能作为付费服务。

用于事件预测的日志信息分析

我们的大数据平台可协助发现并关联 IT

方面的潜在问题。我们正在跟踪比事件数

据更重要的事件日志数据,并使用线性回

归和时间序列预测未来的行为和影响。积

极主动去预测问题和故障分析可帮助减少

事件发生,及对用户和 IT 的影响,降低

IT 运营和支持成本,并缩短解决问题所需

的时间。

使用我们的大数据平台对事件作预测并

将把新事件的发生率降低 10-30%,估计

我们在两年内可节省 400 万美元的 IT 成

本。

为提供客户洞察的 WEB 分析

我们正在把 web 数据整合在 Hadoop 中,

并将该外部数据与内部客户数据集成,以

针对 Intel.com 和客户广告提供客户和网络

使用分析数据。这些 web 分析可帮助我

们的销售和营销团队深入分析 web 使用

数据,以便开展营销或内容导航方面的工

作。这些分析还有助于根据营销活动引起

的反应,预测和调整产品定位与定价,并

提升英特尔供应链的效率。

英特尔销售与营销事业部估计,到 2014

年,需求生成方面的 web 分析投资回报

将达到 1000 万美元。英特尔预测,用于

英特尔供应链的智能分析可帮助在每个地

区保持适当的库存水平,适时提高相应产

品的供应数量,从而在 2013 年创造高达

2000 万美元的价值。

• 制定战略和实施计划• 借助一些 NoSQL 数据库管理元素, 评估和选择基于 SQL 的大规模并行 处理(MPP)平台

• 实施 Hadoop* 研究和规划

• 部署 MPP 平台• 部署 BI 预测平台• 掌握数据部署和编程技能• 帮助部署外部 Hadoop 集群 • 部署三个大数据项目• 完成大数据分布评估• 将内部 Hadoop 集群投入生产• 实施内部 Hadoop 生产集群

• 为第一组使用案例提供可靠平台– 在 BI 大数据平台上部署对企业内部有重大影响 的 BI 项目 – 部署合格的大数据商务使用案例

• 实现业务价值– 提供可扩展的大数据平台 — 经由扩展满足使用 案例需求

• 通过集成 IT 流程,设置大数据平台即服务– 性开发与架构的规范指南– 标准化流程和工具

2011制定

2012构建

2013+交付

图 6. 该时间表概述了英特尔 IT 部门在将大数据平台融合至公司商业智能(Bl)功能方面所取得的进展。

Page 10: 英特尔 IT 部门实施 Apache Hadoop* - Intel€¦ · Hadoop 集群和其它环境之间迁移,以扩展 的需要来处理或查询的数据池。 为找到最符合我们目标的分发版,BI

英特尔处理器标号不是性能的指标。处理器标号仅用于区分同属一个系列的处理器的特性,而不能够用于区分不同系列的处理器。请登陆 www.intel.com/products/processor_number

了解有关英特尔® 处理器型号的信息。

本文旨在提供一般的信息,并非特定指南。推荐(包括潜在成本节省)全部基于英特尔的体验,仅为预估。英特尔不确认或担保他人会得出类似结果。

本文件中包含关于英特尔产品的信息。本文件不构成对任何知识产权的授权,包括明示的、暗示的,也无论是基于禁止反言的原则或其他。英特尔不承担任何其他责任。英特尔在此作出免责声明:本文件不构成英特尔关于其产品的使用和/或销售的任何明示或暗示的保证,包括不就其产品的(i)对某一特定用途的适用性、(ii)适销性以及(iii)对任何专利、版权或其他知识产权的侵害的承担任何责任或作出任何担保。

英特尔、Intel 标识、Intel Core、英特尔酷睿和 Intel Xeon、英特尔至强是英特尔公司在美国和其他国家(地区)的商标。

* 其他的名称和品牌可能是其他所有者的资产。

英特尔公司 © 2013 年版权所有。所有权保留。

C请注意环保 1013/ACHA/KC/PDF 329336-001

以下员工对本文亦有贡献Moty Fania

缩写词BI 商业智能

EAM 企业访问管理

EL 提取 - 加载

ETL 提取 - 转换 - 加载

HDFS Hadoop 分布式文件系统

KVM 基于内核的虚拟机

MPP 大规模并行处理

M-LAG 多机箱链路聚合组

NoSQL 不仅仅是 SQL

ROI 投资回报

SQL 结构化查询语言

TB TB 字节

结论根据经验,英特尔 IT 部门认为,如欲实

现最理想的 Hadoop 实施成效,首先就应

认真选择最具优势的硬件和软件。通过

微调环境实现最高投资回报需要对可用

Hadoop 分发版进行深入分析,选择经济

高效的基础架构,并精心集成现有 BI 环

境,以确保高效的数据传输、强大的安全

保护及高度稳定。

“从小做起”、”使用迭代方法”的战略

有利于我们经济高效地为三个目标使用案

例开发大数据平台,后者可最终通过扩展

处理各种使用案例。在这一过程中,我们

还形成了多个最佳实践并制定了实施程序

指南,它们将继续指导我们将大数据平台

扩展,并在未来构建更多大数据平台。

更多信息如欲参阅相关主题的白皮书,请访问:

www.intel.com/cn/IT:

• “使用集中化的数据管理为大数据解决

方案提供支持”

• “将 Apache Hadoop* 集成至英特尔的大

数据环境中”

• “挖掘企业大数据,成就更出色的商业

智能”

• “使用多个数据仓库的战略完善 BI

分析”

关于英特尔 IT 部门最佳实践的更多信息,

请访问:www.intel.com/cn/IT