大数据相关软件MapReduce、Scribe介绍

以下为你介绍的大数据相关软件都可用在Linux系统上:MapReduce(大规模数据集软件架构)、Scribe(Facebook大量数据处理)。

1、MapReduce(大规模数据集软件架构)

MapReduce是Google提出的一个软件架构,用于大规模数据集(大于1TB)的并行运算。概念"Map(映射)"和"Reduce(化简)",和他们的主要思想,都是从函数式编程语言借来的,还有从矢量编程语言借来的特性。当前的软件实现是指定一个Map(映射)函数,用来把一组键值对映射成一组新的键值对,指定并发的Reduce(化简)函数,用来保证所有映射的键值对中的每一个共享相同的键组。

Hadoop-Apache软件基金会的开放源码项目,提供与MapReduce档案系统类似的功能,参考:https://www.linux110.com/ruanjian/1003.html。

Hadoop MapReduce是一个软件框架,可以轻松地编写应用程序,以可靠,容错的方式并行处理大型硬件集群(数千个节点)上的大量数据(多TB数据集)。

MapReduce作业通常将输入数据集拆分为独立的块,这些任务由地图任务以完全并行的方式进行处理。该框架对地图的输出进行排序,然后将其输入到reduce任务中。通常,作业的输入和输出都存储在文件系统中。该框架负责安排任务,监视任务并重新执行失败的任务。

通常,计算节点和存储节点是相同的,即MapReduce框架和Hadoop分布式文件系统(请参阅HDFS体系结构指南)在同一组节点上运行。此配置使框架可以在已经存在数据的节点上有效地调度任务,从而在整个群集中产生很高的聚合带宽。

每个集群节点,MapReduce框架由一个主JobTracker和一个从TaskTracker组成。主服务器负责在从服务器上计划作业的组件任务,对其进行监视并重新执行失败的任务。从机按照主机的指示执行任务。

最少地,应用程序通过适当的接口或抽象类的实现来指定输入/输出位置和供应图,并减少功能。这些以及其他作业参数构成作业配置。然后,Hadoop作业客户端将作业(jar/可执行文件等)和配置提交给JobTracker,然后由JobTracker负责将软件/配置分发给从属,调度任务并对其进行监视,为作业提供状态和诊断信息,客户。

尽管Hadoop框架是用JavaTM实现的,但MapReduce应用程序不必用Java编写。

Hadoop Streaming是一个实用程序,允许用户使用任何可执行文件(例如shell实用程序)作为映射器和/或化简器来创建和运行作业。

Hadoop Pipes是SWIG兼容的C++ API,用于实现MapReduce应用程序(非基于JNITM)。

输入和输出:

MapReduce框架仅在<key,value>对上操作,也就是说,该框架将作业的输入视为一组<key,value>对,并生成一组<key,value>对作为其输出。 

键和值类必须由框架可序列化,因此需要实现Writable接口。此外,关键类必须实现WritableComparable接口,以利于框架进行排序。

MapReduce作业的输入和输出类型:

(input) <k1, v1> -> map -> <k2, v2> -> combine -> <k2, v2> -> reduce -> <k3, v3> (output) 

下载地址:http://hadoop.apache.org/docs/r1.2.1/mapred_tutorial.html

2、Scribe(Facebook大量数据处理)

大数据相关软件MapReduce、Scribe介绍

Scribe是用于汇总实时流式传输日志数据的服务器客户的时间,它被设计为可扩展且可靠的。

Scribe旨在帮助Facebook处理服务器上的大量数据,正像Scribe网页所述“如经常访问Facebook,请使用Scribe”。具体而言,Scribe就是一台服务器,实时收集用网站日志信息。

注:这是一个归档项目,Facebook不再支持或更新。请不要针对此存储库提出问题或请求。如果你想继续自己开发此代码,我们建议您分叉它。

要求:

[libevent]事件通知库。

[boost] Boost C++库(1.36版或更高版本)。

[thrift] Thrift框架(0.5.0版或更高版本)。

[fb303] Facebook Bassline(包含在thrift/contrib/fb303/中),需要fb303 r697294或更高版本。

[hadoop]可选,版本0.19.1或更高版本。

注:这些库是开源的,可以免费获得,但是它们不是作为此分发的一部分提供。

下载地址:https://github.com/facebookarchive/scribe

注明

以上就是大数据相关软件MapReduce、Scribe的介绍内容,这些大数据相关软件都能使用在Linux操作系统中。

栏目相关文章