hadoop-lzo 安装教程
来源:互联网 发布:菜单设计制作软件 编辑:程序博客网 时间:2024/04/30 02:23
3.安装lzo编码/解码器
4.修改配置文件,并同步各节点的配置文件
注:没有特别指出的话,所有操作都是在Namenode中进行的
1)拷贝/usr/local/lib目录下的lzo库文件到/usr/lib(32位平台),或/usr/lib64(64位平台)
2)在/etc/ld.so.conf.d/目录下新建lzo.conf文件,写入lzo库文件的路径,然后运行/sbin/ldconfig -v,使配置生效
/*****************************************************************************
*2013-01-16
*今天在别的机器上安装时,发现用tar命令或者右键解压的方式都会出现问题
*用以上两种方式的话,在后面ant compile-native tar的时候
*会出现无法找到kevinweil-hadoop-lzo-6bb1b7f/ivy/ivy-2.2.0.jar的错误
*事实上这个ivy-2.2.0.jar是存在的,但却找不到了
*想到有可能是压缩包出问题了,就用tar、gzip、zip分别测试了下kevinweil-hadoop-lzo-6bb1b7f.zip
*发现tar、gzip在测试过程中都出现错误,只有zip没错
*因此我用unzip命令重新解压kevinweil-hadoop-lzo-6bb1b7f.zip
*于是之后ant compile-native tar的时候就再也没出错了
*********************************************************************/
a. compile-java:
[javac] /data/hadoop-lzo-master/build.xml:243: warning: 'includeantruntime' was not set, defaulting to build.sysclasspath=last; set to false for repeatable builds
check-native-uptodate:
compile-native:
[javah] 错误: 找不到类org.apache.hadoop.conf.Configuration。
BUILD FAILED
/data/hadoop-lzo-master/build.xml:269: compilation failed
解决方法:
在 kevinweil-hadoop-lzo-6bb1b7f/build.xml 里面(Ctrl+F compile-java可迅速定位)
<target name="compile-java" depends="init">
<javac
encoding="${build.encoding}"
srcdir="${java.src.dir}"
includes="**/*.java"
destdir="${build.classes}"
debug="${javac.debug}"
optimize="${javac.optimize}"
target="${javac.version}"
source="${javac.version}"
deprecation="${javac.deprecation}">
<compilerarg line="${javac.args} ${javac.args.warnings}" />
<classpath refid="classpath"/>
</javac>
<copy todir="${build.classes}">
<fileset dir="${java.src.dir}" includes="**/*.properties"/>
</copy>
</target>
加入一行
<target name="compile-java" depends="init">
<javac
includeantruntime="false"
encoding="${build.encoding}"
srcdir="${java.src.dir}"
includes="**/*.java"
destdir="${build.classes}"
debug="${javac.debug}"
optimize="${javac.optimize}"
target="${javac.version}"
source="${javac.version}"
deprecation="${javac.deprecation}">
<compilerarg line="${javac.args} ${javac.args.warnings}" />
<classpath refid="classpath"/>
</javac>
<copy todir="${build.classes}">
<fileset dir="${java.src.dir}" includes="**/*.properties"/>
</copy>
</target>
b. compile-native:
[javah] 错误: 找不到类org.apache.hadoop.conf.Configuration。
BUILD FAILED
/data/hadoop-lzo-master/build.xml:270: compilation failed
解决方法:
在 kevinweil-hadoop-lzo-6bb1b7f/build.xml 里面将(Ctrl+F javah可迅速定位)
<javah classpath="${build.classes}"
destdir="${build.native}/src/com/hadoop/compression/lzo"
force="yes"
verbose="yes">
<class name="com.hadoop.compression.lzo.LzoCompressor" />
<class name="com.hadoop.compression.lzo.LzoDecompressor" />
</javah>
加入一行
<javah classpath="${build.classes}"
destdir="${build.native}/src/com/hadoop/compression/lzo"
force="yes"
verbose="yes">
<class name="com.hadoop.compression.lzo.LzoCompressor" />
<class name="com.hadoop.compression.lzo.LzoDecompressor" />
</javah>
a.在hadoop-env.sh 添加,修改 这两行
[hadoop@master bin]$ cd /opt/modules/hadoop/hadoop-1.0.3/conf
#Lzo,Snappy,gzip 等压缩算法库地址
export JAVA_LIBRARY_PATH=$HADOOP_HOME/lib/native/Linux-amd64-64
export HADOOP_CLASSPATH=$HADOOP_CLASSPATH:$HADOOP_CLASSPATH/hadoop-lzo-0.4.15.jar
b.在core-site.xml中添加
<property>
<name>io.compression.codecs</name>
<value>org.apache.hadoop.io.compress.DefaultCodec,org.apache.hadoop.io.compress.GzipCodec,org.apache.hadoop.io.compress.BZip2Codec,com.hadoop.compression.lzo.LzoCodec,com.hadoop.compression.lzo.LzopCodec</value>
</property>
<property>
<name>io.compression.codec.lzo.class</name>
<value>com.hadoop.compression.lzo.LzoCodec</value>
</property>
c.在mapred-site.xml中添加
<property><name>mapred.compress.map.output</name>
<value>true</value>
<!-- map 和 reduce 输出中间文件默认开启压缩 -->
</property>
<property>
<name>mapred.map.output.compression.codec</name>
<value>com.hadoop.compression.lzo.LzoCodec</value>
<!-- 使用 Lzo 库作为压缩算法 -->
</property>
使用LZO过程会发现它有两种压缩编码可以使用,即LzoCodec和LzopCodec,下面说说它们区别:
1)LzoCodec比LzopCodec更快, LzopCodec为了兼容LZOP程序添加了如 bytes signature, header等信息
2)如果使用 LzoCodec作为Reduce输出,则输出文件扩展名为".lzo_deflate",它无法被lzop读取;如果使用LzopCodec作为Reduce输出,则扩展名为".lzo",它可以被lzop读取
3)生成lzo index job的"DistributedLzoIndexer"无法为 LzoCodec即 ".lzo_deflate"扩展名的文件创建index
4)".lzo_deflate"文件无法作为MapReduce输入,".LZO"文件则可以。
5)综上所述得出最佳实践:map输出的中间数据使用 LzoCodec,reduce输出使用 LzopCodec
- Hadoop LZO 安装教程
- hadoop-lzo 安装教程
- hadoop lzo安装
- 安装hadoop-lzo
- hadoop中安装lzo
- hadoop安装lzo
- hadoop lzo安装
- hadoop-lzo安装
- hadoop-lzo 安装手册
- hadoop hbase lzo 安装笔记
- hadoop集群lzo的安装
- Hadoop lzo详细安装手册
- hadoop-lzo-0.4.20安装
- hadoop的lzo插件安装
- Hadoop 2.x(YARN)安装配置LZO
- Hadoop LZO的安装与配置
- Centos之hadoop之lzo库安装
- Hadoop Lzo
- Linux线程私有数据pthread_key_t
- 无法定位程序输入点***于动态链接库QtCore4.dll的解决方法
- Windows7 系统 gVim的_vimrc文件无法修改
- 从JVM内存管理的角度谈谈静态方法和静态属性 和 java对象引用与JVM自动内存管理
- 《Apache MINA 2.0 用户指南》第十四章:状态机
- hadoop-lzo 安装教程
- 让Windows访问Linux文件的最简单的方法
- Android SDK 源代码编译
- 看看,一会食欲会好点
- 小波变换简单实例——哈尔小波变换(Haar wavelet transform)
- 使用 Socket 通信实现 FTP 客户端程序
- 拭目以待2013年的五个云预测能否实现
- 对Excel进行自动打印
- Qt Creator应用程序发布及修改应用程序图标的方法