HPCC 和 Hadoop 的详细比较 已翻译 100%

oschina 投递于 2013/07/11 06:35 (共 16 段, 翻译完成于 07-16)
阅读 6798
收藏 63
3
加载中

硬件环境

通常使用基于Intel或AMD CPU的刀片服务器来构建集群系统,为了降低成本可以使用已经停止销售的过时硬件。节点有本地内存和硬盘,通过高速交换机相连(通常为千兆交换机),如果集群节点很多,也可以使用分层交换。集群内的节点是对等的(所有资源可以简化为相同配置),但这一点并非必须。

操作系统

Linux或windows

Andy
翻译于 2013/07/12 09:03
1

系统配置

实现HPCC集群用两种配置:数据加工(Thor)类似于Hadoop的MapReduce集群;数据分发引擎(Roxie)提供了独立的高性能在线查询处理功能和数据仓库功能。两种配置都可以用做分布式文件系统,不过它们试图提高性能的实现方法不同。HPCC环境通常由两种配置类型的多个集群组成。虽然每个集群上的文件系统相互独立,但是一个集群可以访问同一环境下位于其他集群上的文件系统内的文件。

Hadoop系统软件使用MapReduce处理范例实现了集群。这样的集群也可以用做运行HDFS的分布式文件系统。其他的功能都处Hadoop的MapReduce和Hbase,Hive等文件系统软件之上。
几点人
翻译于 2013/07/14 15:44
1

授权和维护费用

HPCC:社团版本是免费的。企业版授权费用目前取决于集群大小和系统配置的类型。

Hadoop:免费,不过有多个厂商提供不同的付费的维护服务。

核心软件

HPCC:如果使用了Thor配置,那么核心软件包括安装在集群每个节点上的操作系统和多种服务,它们来实现任务的执行和分布式文件系统的访问。名字为Dali的独立服务器提供文件系统名字服务和管理HPCC环境下任务的工作单元。Thor集群可以配置为一个主节点和多个备用节点。Roxie集群是一个对等连接的集群,它的每个节点可运行服务器和执行查询以及密钥和文件处理的任务代理。Roxie集群的文件系统使用分布式B+树来存储索引和数据,并提供对加密数据的访问。要对Thor和Roxie集群进行操作的话,附加的中间件组件是不可或缺的。

Hadoop:核心软件包括操作系统、Hadoop的MapReduce集群和HDFS软件。每个备用节点包括任务跟踪服务和数据节点服务。主节点包括任务追踪服务,任务追踪服务可配置为独立的硬件节点或者运行在一个备用硬件节点。类似地,对HDFS来说,要提供名字服务的话,主名字节点服务也是必须的,并且可在一个备用的节点或者一个独立的节点之上运行这个服务。
几点人
翻译于 2013/07/14 19:54
1

中间件

HPCC:中间件包括在MySQL服务器上实现的ECL代码仓库、编译ECL程序和查询的ECL服务器、ECL代理即Thor集群上管理任务执行的客户端程序,ESP服务器(企业服务平台),它提供认证、日志记录、安全以及执行任务和提供Web服务环境的其他服务,Dali服务器,它可用作存储任务工作单元信息的系统数据和为分布式文件系统提供名字服务。中间件可以灵活地运行在一个到几个节点上。多个这样的服务器可以提供冗余备份和提高性能。

Hadoop:没有中间件。客户端软件可以直接提交任务给集群主节点的任务追踪器。作为服务器运行的Hadoop工作流调度器(HWS)的管理需要多个MapReduce序列的任务的功能正在开发中。
几点人
翻译于 2013/07/14 20:21
1

系统工具

HPCC包括用于管理、维护和监视HPCC配置和环境的客户端和操作工具套件。这个套件包括ECL IDE、程序开发环境、属性迁移工具、分布式文件应用(DFU)、环境配置应用和Roxie配置应用。命令行版本也可用。ECLWatch是一个监控HPCC环境的基于Web的应用程序,它包括队列管理,分布式文件系统管理、任务监视和系统性能监视工具。其他工具是通过Web服务接口提供的。

Hadoop:dfsadmin工具提供文件系统的状态信息;fsck是一个检查HDFS上文件的健康性的应用;数据节点块扫描器定时地验证数据节点上所有的存储块;平衡器根据需要把超负荷的数据节点上的阻塞重新发布到低负荷的数据节点上。MapReduce的WEB用户接口包括显示正在运行的和已经完成的任务信息的任务追踪器页面;对一个具体的任务再向下点击的话就可以看到这个任务的详细信息。还有显示Map和Reduce任务信息的任务页面。
几点人
翻译于 2013/07/14 21:06
1

易部署 

HPCC:环境配置工具。源服务器有一个集中式仓库,它分发操作系统级别的设置、服务和二进制文件到配置中所有可网络启动的节点上。

Hadoop:需要第三方应用向导提供的在线工具协助。需要手动部署RPM。
几点人
翻译于 2013/07/14 21:08
1

分布式文件系统

HPCC:Thor的分布式文件系统是面向记录的,使用本地Linux文件系统存储部分文件。文件是跨节点初始化装载的(提取的),并且每个节点都有一个单独的部分文件,对一个分布式文件来说,这个部分文件可为空。在由用户指定的偶数个记录/文档范围内对文件进行分割。主备结构通过存储在独立服务器的名字服务和文件映射信息来分割。每个节点只需要一个本地文件来表示一个分布式文件。同一环境下多个集群之间也支持读写访问权限设置。使用特定的适配器允许访问来自外部数据库的比如MySQL的文件,允许事务数据与分布式文件数据合并且并入批处理的任务中。Roxie分布式文件系统使用了分布式B+树索引文件,这样的文件包含了键值信息和存储在每个节点的本地文件里的数据。

Hadoop:面向块的,大多数安装使用大小为64MB或者128MB的块。块是以节点的本地Unix/Linux文件系统的独立单元/本地文件存储的。每个块的元数据信息存储为一个独立的文件。主备结构使用了单独的名字节点提供名字服务和块映射,并且使用了多个数据节点。文件划分为块并且分布地存储在集群的各个节点。跨节点存储在一个节点上每个逻辑块的多个本地文件(一个用来保存块数据、一个用来保存元数据)来表示一个分布式文件。
几点人
翻译于 2013/07/15 10:57
1

容错性

HPCC:Thor和Roxie的分布式文件系统(可配置)在其他节点上保存了部分文件的副本,以防止磁盘或者节点失效。Thor系统在一个节点失效之后提供了要么自动要么手动的切换和热启动,任务从最近一次检查点重新启动或者继续运行。当复制数据到一个新的节点的时候,副本的制作自动进行。Roxie系统在减少节点数而引起节点失效时继续运行。

Hadoop:HDFS(可配置)在其他节点上存储(用户指定的)多个副本,以防止由于自动恢复出现的磁盘或节点失效。MapReduce架构包括了试探性执行,当检测到一个慢的或者失败的Map任务时,其他Map任务将从失效的节点处开始恢复。
几点人
翻译于 2013/07/15 11:11
1

执行任务的环境

HPCC:Thor使用了主备处理结构。ECL任务定义的处理步骤可以指定本地操作(数据在每个节点上独立处理)或者全局(数据跨所有节点处理)操作。为了对编译的ECL数据流程序的执行进行优化,一个过程的多个处理步骤可作为一个单独任务的一部分自动地执行。如果每个节点的CPU和内存资源可满足要求的话,那么为了减少时延,一个单独的Thor集群可配置为并行地运行多个任务。包括ECL代理、ECL服务器和Dali服务器的中间件提供了客户端接口,并管理作为工作单元打包的任务的执行。Roxie使用了多个服务器/代理的结构处理ECL程序,每个查询把服务器任务当作管理者,多个代理任务在需要的时候获取和处理这个查询的数据。

Hadoop:对输入的键值对数据使用MapReduce处理范例。是主备处理结构。任务追踪器运行在主节点上,任务追踪器运行在每个备用节点上。给Map任务指定输入文件的输入分支,通常一个块一个任务。Reduce任务数由用户指定。对指定的节点来说,Map处理是在本地执行的。移动和排序操作是随着Map的阶段来进行的,它用来分发和排序键值对给键区所对应的Reduce任务,这样具有同一键的键值对由同一个Reduce任务处理。对大多数过程来说,多个MapReduce处理步骤通常是必须的,并且一定是单独由用户或者语言比如Pig来排序和串接的。
几点人
翻译于 2013/07/15 16:26
1

编程语言

HPCC:ECL是HPCC环境的主要编程语言。ECL编译为优化的C++,然后再编译为在Thor和Roxie平台上可执行的DLL。ECL的包括封装在函数里的内联的C++代码。外部服务可以用任何语言书写,并且编译为ECL可调用的函数共享库。管道接口允许执行用任何语言写的合并到任务里的外部程序。

Hadoop的MapReduce任务通常用Java书写。其他语言的支持是通过流或者管道接口来实现的。其他处理环境是在Hadoop的MapReduce之上执行的,比如HBase和Hive,它们拥有自身的语言接口。Pig拉丁语言和Pig执行环境提供了高级别的数据流语言,然后把这种语言映射到到多个Java书写的MapReduce任务上。
几点人
翻译于 2013/07/15 16:31
1
本文中的所有译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接。
我们的翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。
加载中

评论(8)

qwfys
qwfys
~~
osc_136791
osc_136791
信息
BaiYang
BaiYang
没记错的话 HPCC 应该是开源的。
可观
可观
Hadoop在2008年以209秒的成绩获得TeraSort的第一名,此前记录是209秒,如果HPCC能在可比较的条件下以102秒完成确实是个大进步。
问题是查了http://sortbenchmark.org/,这个记录目前还是hadoop保持的,为什么hpcc不去提交结果呢?
吐槽的达达仔
吐槽的达达仔
深度化定制,源码修改困难。费用巨大。软件行业还是开源的是王道!!
技术揣摩
技术揣摩

引用来自“兮风古道”的评论

满篇都是HPCC多好,不足之处呢?

不好就是商业授权收费,这么明显
红薯
红薯

引用来自“兮风古道”的评论

满篇都是HPCC多好,不足之处呢?

这是hpcc写的
大萌王朝首席槽点师
大萌王朝首席槽点师
满篇都是HPCC多好,不足之处呢?
返回顶部
顶部