你好,游客 登录 注册 搜索
背景:
阅读新闻

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

[日期:2013-03-22] 来源:  作者: [字体: ]

  Nutch2.1通过gora对存储层进行了扩展,支持HBase、Accumulo、Cassandra 、MySQL 、DataFileAvroStore、AvroStore等存储方式。在我的反复测试中发现,Nutch2.1比起1.6的性能要差得多,最重要的是不能长期稳定运行。下面分别说说每一种存储方式的情况:

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

  Accumulo抓取3轮之后就异常退出,提示UnsupportedOperationException。

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

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

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

  AvroStore,和DataFileAvroStore同样的问题。

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





收藏 推荐 打印 | 录入: | 阅读:
相关新闻