很抱歉,此 PDF 仅供下载

白皮书 英特尔 Hadoop 大数据解决方案

英特尔 Hadoop发行版 英特尔 Hadoop发行版提供下列核心 优势: 1. 经过客户验证的企业级 Hadoop版本, 稳定可靠 2. 图形化安装、管理、监控工具,自动进 行集群配置优化 3. 改进的 HDFS 文件 I/O算法,提高系统 扩展性,适合不同配置服务器组成的 集群 4. 根据 HDFS数据的热点程度动态调整 数据复制策略,提高 HDFS系统吞吐量 5. HDFS 和 MapReduce的高可靠性增强 6. 跨区域数据中心的 HBase超级大表, 位置透明的数据访问和全局汇总 7. HBase大表跨数据中心远程双向复制, 适合异地灾备 8. HBase高级 Region负载均衡算法,适 合多应用、多用户 9. 基于 HBase的更高性能的分布式聚合 和统计 10.HBase的不同表或不同列族的复制份 数精细控制 分布式文件系统 HDFS简介 Hadoop分布式文件系统(HDFS)是运行在通用硬件上的分布式文件系统。HDFS提供了一个 高度容错性和高吞吐量的海量数据存储解决方案。HDFS已经在各种大型在线服务和大型存 储系统中得到广泛应用,已经成为海量数据存储的事实标准。 随着信息系统的快速发展,海量的信息需要可靠存储的同时,还能被大量的使用者快速地访 问。传统的存储方案已经从构架上越来越难以适应近几年来的信息系统业务的飞速发展,成 为了业务发展的瓶颈和障碍。 HDFS通过一个高效的分布式算法,将数据的访问和存储分布在大量服务器之中,在可靠地 多备份存储的同时还能将访问分布在集群中的各个服务器之上,是传统存储构架的一个颠覆 性的发展。HDFS可以提供以下特性: • 可自我修复的分布式文件存储系统 • 高可扩展性,无需停机动态扩容 • 高可靠性,数据自动检测和复制 • 高吞吐量访问,消除访问瓶颈 • 使用低成本存储和服务器构建 分布式文件系统 HDFS特性 对于一个较大的文件,HDFS将文件的不同 高吞吐量访问 部分存放于不同服务器之上。在访问大型文 HDFS的每个数据块分布在不同机架的一组服 件时,系统可以并行从服务器阵列中的多个 务器之上,在用户访问时,HDFS将会计算使 服务器并行读入,增加了大文件读入的访问 用网络最近的和访问量最小的服务器给用户 带宽。 提供访问。由于数据块的每个复制拷贝都能 提供给用户访问,而不是仅从数据源读取, 通过以上实现,HDFS通过分布式计算的算法, HDFS对于单数据块的访问性能将是传统存 将数据访问均摊到服务器阵列中的每个服务 储方案的数倍。 器的多个数据拷贝之上,单个硬盘或服务器 的吞吐量限制都可以数倍甚至数百倍的突破, 提供了极高的数据吞吐量。 英特尔 Hadoop发行版 目录 分布式文件系统 HDFS 简介...........................1 分布式文件系统 HDFS 特性..................................1 分布式数据库 HBase 简介.............................2 分布式数据库 HBase 的特点和优势................2 数据模型及其特点.......................................................3 分布式计算框架 MapReduce 简介...............3 MapReduce 适合处理的任务................................4 数据仓库 Hive 简介.........................................4 Hive 特点............................................................................5 Hive 系统结构.................................................................5 数据处理 Pig简介 ...........................................5 日志收集工具 Flume 简介..............................5 MapReduce 应用场景.................................................6 机器学习 Mahout 简介...................................6 分布式协作服务 ZooKeeper 简介................6 关系数据 ETL工具 Sqoop 简介....................7 英特尔 Hadoop 发行版产品与服务..............7 为什么使用英特尔 Hadoop发行版 ..............7 英特尔 Hadoop 为企业应用而优化..............8 Metadata(namespace, replicas,...) Master locations,...) ops Metadata block NameNode /foo/bar,block1->node1,node3,node6 get file, (create ... Data Client Block assignment write Data read DataNode DataNode DataNode ... 1 5 5 5 Slaves Data Data 2 1 3 3 Replication Replication 高度容错 无缝容量扩充 HDFS文件系统假设系统故障(服务器、网络、 HDFS将文件的数据块分配信息存放在 Name 存储故障等)是常态,而不是异常。因此通 Node服务器之上,文件数据块的信息分布 过多方面保证数据的可靠性。数据在写入时 地存放在 DataNode服务器上。当整个系统 被复制多份,并且可以通过用户自定义的复 容量需要扩充时,只需要增加 DataNode的 制策略分布到物理位置不同的服务器上;数 数量,系统会自动地实时将新的服务器匹配 据在读写时将自动进行数据的校验,一旦发 进整体阵列之中。之后,文件的分布算法会 现数据校验错误将重新进行复制;HDFS系统 将数据块搬迁到新的 NameNode之中,不需 在后台自动连续的检测数据的一致性,并维 任何系统当机维护或人工干预。 持数据的副本数量在指定的复制水平上。 通过以上实现,HDFS可以做到在不停止服务 的情况下实时地加入新的服务器作为分布式 文件系统的容量升级,不需要人工干预文件 的重分布。 2 分布式数据库 HBase简介 HBase是一个面向列的实时分布式数据库。HBase不是一个关系型数据库,其设计目标是用来 解决关系型数据库在处理海量数据时的理论和实现上的局限性。传统关系型数据库在上世纪 七十年代为交易系统设计,以满足数据一致性(ACID)为目标,并没有考虑数据规模扩大时 的可用性。虽然经过多年的技术发展,产生了一些对关系性数据 的扩展性,以及系统故障时 库的修补(并行数据库),然而受限于理论和实现上的约束,扩展性从来没有超过 40个服务 器节点。而 HBase从一开始就是为 Terabyte到 Petabyte级别的海量数据存储和高速读写而 设计,这些数据要求能够被分布在数千台普通服务器上,并且能够被大量并发用户高速访问。 分布式数据库 HBase的特点和优势 海量数据(从几个 TB到几十 PB的数据)。 高可扩展性 另一方面,当数据峰值接近系统设计容量时, HBase是真正意义上的线性水平扩展。数据 可以简单通过增加服务器的方式来扩大容 量累计到一定程度(可配置),HBase系统 量。这个动态扩容过程无需停机,HBase系 会自动对数据进行水平切分,并分配不同的 统可以照常运行并提供读写服务,完全实现 服务器来管理这些数据。这些数据可以被扩 动态无缝无宕机扩容。 散到上千个普通服务器上。这样一方面可以 由大量普通服务器组成大规模集群,来存放 英特尔 Hadoop发行版 构时必须预先固定,而行可以动态增加,也 高性能 写入数据,这些数据就保证被持久化并被冗 就是说有一个维度可动态改变。HBase的多 HBase的设计目的之一是支持高并发用户数的 余复制,整个系统的高可用性得到保证。 维表有四维,列族需要在设计表结构时事先 高速读写访问。这是通过两方面来实现的。首 数据模型及其特点 确定,而行、列、时间维都可以动态增加。 先数据行被水平切分并分布到多台服务器上, HBase是一个面向列的、稀疏的、分布式的、 也就是说有三个维度可动态改变。这种结构 在大量用户访问时,访问请求也被分散到了不 持久化存储的多维排序映射表(Map)。表的索 非常适合用来表述有嵌套关系的数据。另外, 同的服务器上,虽然每个服务器的服务能力有 引是行关键字、列族名(Column Family)、 动态增删列的能力也给很多业务带来便利, 以提供极高性 限,但是数千台服务器汇总后可 列关键字以及时间戳;表中的每个值都是一 特别是这些业务在不停的演化,需要的列字 能的访问能力。其次,HBase设计了高效的缓 个未经解析的字节数组。 段也在不停的增加,多维表结构可以随时进 存机制,有效提高了访问的命中率,提高了访 行改变以适应业务发展需求。 问性能。 面向列:指的是同一个列族里所有数据都存 放在一个文件中,从而在读写时有效降低磁 稀疏表:由于多维表的列可以动态增加,必 高可用性 盘 I/O的开销,并且由于类似类型的数据存 然导致不同行相同列的数据大部分为空,也 HBase建立在 HDFS 之上。HDFS提供了数 放在一起,提高了压缩比。经过压缩后的数据 就是说这个表是稀疏的。不像传统关系型数 据自动复制和容错的功能。HBase的日志和 容量通常达到原来的 1/3到1/5,极大节省了 据库,HBase不存放空值,只存放有内容的 数据都存放在 HDFS上,即使在读写过程中 存储空间。 表格单元(cell),因此可以支持超大稀疏表, 当前服务器出现故障(硬盘、内存、网络等 而不会带来任何开销。这对传统的表结构设 故障),日志也不会丢失,数据都可以从日 多维表:这是对传统二维关系表的极大扩充。 计也带来了观念上的大改变。 志中自动恢复。HBase系统会自动分配其他 传统二维表有两维:行和列。列在设计表结 服务器接管并恢复这些数据。因此一旦成功 Row Key 139-1223-3912_201103→ Owner: info ↓ Column Family bill: total balance ... ←t3 Mice ←t11 ... Michael ←t17 ... Value 86 150 Time Stamp ... Columns type: voice sms gprs 3g wlan special ... ... ... ... ... 分布式计算框架 MapReduce简介 MapReduce是一个高性能的批处理分布式计算框架,用于对海量数据进行并行分析和处理。与传统数据仓库和分析技术相比,MapReduce适 合处理各种类型的数据,包括结构化、半结构化和非结构化数据。数据量在 TB和 PB级别,在这个量级上,传统方法通常已经无法处理数据。 MapReduce将分析任务分为大量的并行 Map任务和 Reduce汇总任务两类。Map任务运行在多个服务器上。目前部署的最大集群有 4000个服 务器。 3 英特尔 Hadoop发行版 MapReduce适合处理的任务 来源使得问题更为严重,新的系统和用户带来 复杂的数据:业务数据不能适合行列的数 比以往更多的数据。Hadoop的创新构架使用 据库结构。数据可能来源于多种格式:多媒 低成本的常规服务器储存和处理海量的数据。 体数据、图像数据、文本数据、实时数据、 传感器数据等等。当有新的数据来源时,可 新的分析手段:海量复杂数据分析需要使用 能会有新的数据格式的出现。MapReduce 新的方法。新的算法包括自然语言分析、模式 可以存放和分析各种原始数据格式。 识别等。只有 Hadoop的构架才能方便高效地 使用新的算法来处理和分析海量数据。 超大规模数据:很多公司仅仅应为数据存放成 本过高就放弃了很多有价值的数据。新的数据 Partitioned Input D A T A MAP MAP MAP MAP Grouped Intermediate Results(K‘, v’ [ ]) RE DU CE Aggregated Output Map(k, v)→(k’, v’) Group(k’, v’)by k’ Reduce(k’,v’[ ])→v” MapReduce框架的核心优势: 1. 高度可扩展,可动态增加/削减计 算节点,真正实现弹性计算。 2. 高容错能力,支持任务自动迁移、 重试和预测执行,不受计算节点 故障影响。 3. 公平调度算法,支持优先级和任 务抢占,兼顾长/短任务,有效支 持交互式任务。 4. 就近调度算法,调度任务到最近 的数据节点,有效降低网络带宽。 5. 动态灵活的资源分配和调度,达 到资源利用最大化,计算节点不 会出现闲置和过载的情况;同时 支持资源配额管理。 6. 经过大量实际生产环境使用和验 证,最大集群规模在 4000个计算 节点。 数据仓库 Hive简介 Hive是一种建立在 Hadoop之上的数据仓库架构。它提供了: • 一套方便的实施数据抽取(ETL)的工具。 • 一种让用户对数据描述其结构的机制。 • 支持用户对存储在 Hadoop中的海量数据进行查询和分析的能力。 Hive的基本特点是它采用 HDFS进行数据存储并利用 MapReduce框架进行数据操作。所以从 本质上来说,Hive就是个编译器,它把用户的操作(查询或者 ETL)变换成 MapReduce 任务,利用 MapReduce框架执行这些任务以对 HDFS上的海量数据进行处理。 Hive被设计成一种批处理系统。它利用 MapReduce框架来处理数据。因此,它在 MapReduce 任务提交和调度上有比较高的开销。即使对于小数据集(几百兆)来说,延迟也是分钟级的。 但其最大的优点是延迟相对于数据集大小是线性增加的。 Hive定义了一种简单的类 SQL查询语言 HiveQL,让熟悉 SQL的用户可以非常容易的进行查 与此同时,HiveQL也允许熟悉 MapReduce框架的程序员在查询中插入自定义的 mapper 询。 和 reducer脚本以扩展 Hive内嵌的功能,完成更复杂的分析。 4 英特尔 Hadoop发行版 自定义其使用的数据类型、也可以用任何语 Hive系统结构 言自定义 mapper和 reducer脚本,还可以自 HIVE Hive包括 定义函数(普通函数、聚集函数)等。这就 JDBC ODBC • 元数据存储(Metastore) 赋予了 HiveQL极大的可扩展性。用户可以 Command Thrift Server • 驱动(Driver) 这种可扩展性实现非常复杂的查询。 利用 Line • 查询编译器(QueryCompiler) Metastore Driver 高扩展性(Scalability)和容错性 • 执行引擎(ExecutionEngine) (Compiler, Optimizer, Executor) Hive本身并没有执行机制,用户查询的执 • 服务器(HiveServer) 行是通过 MapReduce框架实现的。由于 • 客户端组件 MapReduce框架本身具有高度可扩展(计算 MapReduce • 可扩展接口部分 能力随 Read the full 白皮书 英特尔 Hadoop 大数据解决方案.

相关视频