Nutch学习笔记11---1.7local模式启用压缩算法

压缩优化
由于hadoop的很多结果都是由mr触发,mr中间伴随着很多硬盘IO。
所以这里需要启用压缩算法,减少IO数据量,减少IO时间。

症状表现:运行时看到
2014-07-14 18:13:09,386 WARN  util.NativeCodeLoader - Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
2014-07-14 18:13:09,437 WARN  snappy.LoadSnappy - Snappy native library not loaded

解决思路:
http://www.cnblogs.com/jiama/archive/2013/05/03/3056419.html
http://yeelor.iteye.com/blog/1991075
http://code.google.com/p/hadoop-snappy/

解决方案:
1 找到程序运行时的-Djava.library.path
比如:
-Djava.library.path=/usr/local/nutch-1.7/runtime/local/lib/native/Linux-amd64-64

2 复制libhadoop.so到此目录
wget  http://archive.apache.org/dist/hadoop/core/hadoop-1.1.2/hadoop-1.1.2.tar.gz
tar -zvxf hadoop-1.1.2.tar.gz
cd hadoop-1.1.2

搜索libhadoop.so
find ./ -name libhadoop.so
./lib/native/Linux-i386-32/libhadoop.so
./lib/native/Linux-amd64-64/libhadoop.so

根据自己的主机架构,复制相应的libhadoop.so文件到java.library.path中去。

3 下载编译libsnappy.so
打开http://code.google.com/p/snappy/
或者直接下载wget http://snappy.googlecode.com/files/snappy-1.1.0.tar.gz
tar -zvxf snappy-1.1.0.tar.gz
cd snappy-1.1.0
./configure
make
find ./ -name libsnappy.so
结果是找到了./.libs/libsnappy.so
注意:这里是一个链接文件,要把真正的文件复制到java.library.path中去。
4 修改配置文件
vi conf/nutch-site.xml
// Compress Map output
<property>
 <name>mapred.compress.map.output</name>
 <value>true</value>
</property>

<property>
 <name>mapred.map.output.compression.codec</name>
 <value>org.apache.hadoop.io.compress.SnappyCodec</value>
</property>

// Compress MapReduce output
<property>
 <name>mapred.output.compress</name>
 <value>true</value>
</property>

<property>
 <name>mapred.output.compression</name>
 <value>org.apache.hadoop.io.compress.SnappyCodec</value>
</property>

Nutch学习笔记11---1.7local模式启用压缩算法

时间: 2024-10-22 12:53:09

Nutch学习笔记11---1.7local模式启用压缩算法的相关文章

《C++ Primer Plus》学习笔记11

<C++ Primer Plus>学习笔记11 第17章 输入.输出和文件 <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

Nutch学习笔记——抓取过程简析

Nutch学习笔记二--抓取过程简析 学习环境: ubuntu 概要: Nutch 是一个开源Java 实现的搜索引擎.它提供了我们运行自己的搜索引擎所需的全部工具.包括全文搜索和Web爬虫. 通过nutch,诞生了hadoop.tika.gora. 先安装SVN和Ant环境.(通过编译源码方式来使用nutch) apt-get install ant apt-get install subversion [email protected]:~/data/nutch$ svn co https:

概率图模型(PGM)学习笔记(三)模式推断与概率图流

我们依然使用"学生网络"作为例子,如图1. 图1 首先给出因果推断(Causal Reasoning)的直觉解释. 可以算出来 即学生获得好的推荐信的概率大约是0.5. 但如果我们知道了学生的智商比较低,那么拿到好推荐信的概率就下降了: 进一步,如果又同时知道了考试的难度很低,那么他拿到好的推荐信得概率又上升了,甚至还能超过最初的概率: 上述这个过程就是因果推断,你看它是顺着箭头的方向进行推断. 其次给出信度推断(Evidential Reasoning)的直觉解释.如图2. 图2 本

sqlite学习笔记11:C语言中使用sqlite之删除记录

最后一节,这里记录下如何删除数据. 前面所有的代码都继承在这里了,在Ubuntu14.04和Mac10.9上亲测通过. #include <stdio.h> #include <stdlib.h> #include "sqlite/sqlite3.h" #define DB_NANE "sqlite/test.db" sqlite3 *db = NULL; char* sql = NULL; char *zErrMsg = NULL; con

lua学习笔记11:lua中的小技巧

lua中的小技巧,即基础lua语言本身的特种,进行一个些简化的操作 一 巧用or x = x or v 等价于: if not x then x = v end 如果x为nil或false,就给他赋值为 二 三元运算符实现 a and b or c 类似C语言: a ? b : c and 的运算由优先级高于or lua学习笔记11:lua中的小技巧,布布扣,bubuko.com

mybatis学习笔记(11)-多对多查询

mybatis学习笔记(11)-多对多查询 mybatis学习笔记11-多对多查询 示例 多对多查询总结 resultMap总结 本文实现多对多查询,查询用户及用户购买商品信息. 示例 查询主表是:用户表 关联表:由于用户和商品没有直接关联,通过订单和订单明细进行关联,所以关联表:orders.orderdetail.items sql SELECT orders.*, user.username, user.sex, user.address, orderdetail.id orderdeta

mybatis学习笔记(11)-一对多查询

mybatis学习笔记(11)-一对多查询 mybatis学习笔记11-一对多查询 示例 小结 本文实现一对多查询,查询订单及订单明细的信息 示例 sql 确定主查询表:订单表 确定关联查询表:订单明细表 在一对一查询基础上添加订单明细表关联即可. SELECT orders.*, user.username, user.sex, user.address, orderdetail.id orderdetail_id, orderdetail.items_id, orderdetail.item

学习笔记11

目前正在专修CSS这一块,现在对内联元素和块元素进行深入的学习一下: 内联元素(inline element)一般都是基于语义级(semantic)的基本元素.内联元素只能容纳文本或者其他内联元素,常见内联元素"a". 块元素(block element)和内联元素(inline element)都是html规范中的概念.块元素和内联元素的基本差异是块元素一般都从新行开始.而当加入了css控制以后,块元素和内联元素的这种属性差异就不成为差异 了.比如,我们完全可以把内联元素cite加上

Swift学习笔记(11)--类与结构体

类与结构是编程人员在代码中会经常用到的代码块.在类与结构中可以像定义常量,变量和函数一样,定义相关的属性和方法以此来实现各种功能. 和其它的编程语言不太相同的是,Swift不需要单独创建接口或者实现文件来使用类或者结构.Swift中的类或者结构可以在单文件中直接定义,一旦定义完成后,就能够被直接其它代码使用. 注意:一个类的实例一般被视作一个对象,但是在Swift中,类与结构更像是一个函数方法,在后续的章节中更多地是讲述类和结构的功能性. 1.类和结构的异同 类和结构有一些相似的地方,它们都可以