对Nutch 2.1抽象存储层的一些看法

Nutch2.1通过gora对存储层进行了扩展,可以选择使用HBase、Accumulo、Cassandra 、MySQL 、DataFileAvroStore、AvroStore中任何一种来存储数据,但其中一些并不成熟。在我的反复测试中发现,整体来说,Nutch2.1比起Nutch1.6的性能要差得多,最重要的是不能长期稳定运行。Nutch1.6使用Hadoop Distributed File System (HDFS)来作为存储,稳定可靠。下面分别说说每一种存储方式的情况:

HBase(column stores),支持输入分割,以Region为最小分割单位。随着数据规模的增大,并行处理的优势就体现出来了,所以适合大数据应用。不过对HBase集群的维护是一大问题,比HDFS复杂得多,内存消耗也很恐怖。

Accumulo(key/value store )抓取3轮之后就异常退出,提示UnsupportedOperationException。

Cassandra(column stores),需要注意的是/etc/hosts中localhost不能映射到127.0.0.1。Cassandra最大的问题在于不支持输入分割,就算数据规模再大也只有一个map,完全失去了并行性。

MySQL (RDBMS),只有一台服务器作为数据源,那么随着数据规模的增大,MySQL 要怎么面对呢?所以MySQL对于小规模的简单的垂直搜索之类的应用比较合适。

DataFileAvroStore(data serialization system ),Injection job throws NullPointerException,见https://issues.apache.org/jira/browse/NUTCH-1477 。

AvroStore(data serialization system ),和DataFileAvroStore同样的问题。

从上面的分析来看,目前gora还亟待改进。对于追求性能极致的朋友来说,nutch2.1还不稳定,建议使用nutch1.6,利用HDFS和MapReduce的数据本地化及天然的并行性,可以优化到非常快的速度。

测试记录__nutch2.1.zip (475.3 KB)

作者:iteye yangshangchuan

查看本栏目更多精彩内容:http://www.bianceng.cnhttp://www.bianceng.cn/webkf/tools/

时间: 2024-09-17 04:12:07

对Nutch 2.1抽象存储层的一些看法的相关文章

对Nutch2.1抽象存储层的一些看法 -

Nutch2.1通过gora对存储层进行了扩展,支持http://www.aliyun.com/zixun/aggregation/13713.html">HBase.Accumulo.Cassandra .MySQL .DataFileAvroStore.AvroStore等存储方式.在我的反复测试中发现,Nutch2.1比起1.6的性能要差得多,最重要的是不能长期稳定运行.下面分别说说每一种存储方式的情况: HBase,支持输入分割,以Region为最小分割单位.随着数据规模的增大,并

创建ASP.NET数据存储层

asp.net|创建|数据 摘要:学习如何使用 SQL Server 2000 和 Visual Studio .NET 2003 为 DotNetKB ASP.NET 解决方案创建数据存储层.此外,还讨论了有关 SQL Server.IIS 和 ASP.NET 的安全性问题. 简介 在<ASP.NET应用程序规划与设计>中,我们讨论了名为 DotNetKB 的 ASP.NET 解决方案的基础规划和设计知识.本部分将详细讨论如何使用 Microsoft? SQL Server? 2000 和

为Hadoop存储层增加对OpenStack Swift的支持

在 Hadoop 中有一个抽象文件系统的概念,它有多个不同的子类实现,由 DistributedFileSystem 类代表的 HDFS 便是其中之一.在 Hadoop 的 1.x 版本中,HDFS 存在 NameNode 单点故障,并且它是为大文件的流式数据访问而设计的,不适合随机读写大量的小文件.本文将探讨通过使用其他的存储系统,例如 OpenStack Swift 对象存储,作为 Hadoop 的底层存储,为 Hadoop 的存储层增加对 OpenStack Swift 的支持,并给出测试

内存详解: 详解PHP内存池中的存储层

PHP的内存管理器是分层(hierarchical)的.这个管理器共有三层:存储层(storage).堆(heap)层和 emalloc/efree 层.存储层通过 malloc().mmap() 等函数向系统真正的申请内存,并通过free()函数释放所申请的内存.存储层通常申请的内存块都比较大,这里申请的内存大并不是指storage层结构所需要的内存大,只是堆层通过调用存储层的分配方法时,其以段的格式申请的内存比较大,存储层的作用是将内存分配的方式对堆层透明化.首先看storage层的结构:/

创建ASP.NET数据存储层(1)

asp.net|创建|数据 摘要:学习如何使用 SQL Server 2000 和 Visual Studio .NET 2003 为 DotNetKB ASP.NET 解决方案创建数据存储层.此外,还讨论了有关 SQL Server.IIS 和 ASP.NET 的安全性问题. 简介 在<ASP.NET应用程序规划与设计>中,我们讨论了名为 DotNetKB 的 ASP.NET 解决方案的基础规划和设计知识.本部分将详细讨论如何使用 Microsoft? SQL Server? 2000 和

BAT解密:互联网技术发展之路(4)- 存储层技术剖析

BAT解密:互联网技术发展之路(4)- 存储层技术剖析 1. SQL 即关系数据.前几年NoSQL火了一阵子,很多人都理解为NoSQL是完全抛弃关系数据,全部采用非关系型数据,但事实经过几年的试验后,大家发现关系数据不可能完全抛弃,NoSQL不是No SQL,而是Not Only SQL,即NoSQL是SQL的补充. 所以互联网行业也必须依赖关系数据,考虑到Oracle太贵,还需要专人维护,一般情况下互联网行业都是用MySQL.PostgreSQL这类开源数据库.这类数据库的特点是开源免费,拿来

PostgreSQL和MySQL的存储层深度解析

PostgreSQL和MySQL的存储层深度解析 李海翔  DTCC2014 PostgreSQL是以加州大学伯克利分校计算机系开发的 POSTGRES,现在已经更名为PostgreSQL,版本 4.2为基础的对象关系型数据库管理系统(ORDBMS).PostgreSQL支持大部分 SQL标准并且提供了许多其他现代特性:复杂查询.外键.触发器.视图.事务完整性.MVCC.同样,PostgreSQL 可以用许多方法扩展,比如, 通过增加新的数据类型.函数.操作符.聚集函数.索引免费使用.修改.和分

Geomajas GeoTools layer 1.9.0发布 矢量数据存储层

Geomajas GeoTools layer允许您连接到使用任何GeoTools的数据存储作为一个矢量数据存储层,包括WFS.PostGIS, shape 文件等. Geomajas GeoTools layer 1.9.0该版本更新到GeoTools 2.7.4(带有一些额外的补丁),保证数据存储重新连接当连接层初始化失败时. 软件信息:http://geomajas.org/plugin/geotools-layer

ASP.NET MVC5网站开发之实现数据存储层功能(三)_实用技巧

数据存储层在项目Ninesky.DataLibrary中实现,整个项目只有一个类Repository. Repository中实现增删改查询等方法供业务逻辑层调用,主要功能如下图: 具体步骤 一.添加实体框架的引用 1.打开解决方案,选择项目Ninesky.DataLibrary,在引用上右键,选择管理NuGet程序包. 在NuGet包管理器中的浏览标签中点击EntityFramework,点击右侧栏的安装按钮. 在搜索框输入EntityFramework.zh-Hans,安装假体中文资源包.