一、前提
1、gcc的安装:yum install lib* glibc* gcc* 如果lzo编译出错时可能需要安装
2、ant的安装:安装略,最好1.8.2及以上版本,并设置好环境变量 在第三步需要用到ant
二、lzo的安装
wget http://www.oberhumer.com/opensource/lzo/download/lzo-2.04.tar.gz 
./configure --enable-shared
make
make install
#编辑/etc/ld.so.conf,加入/usr/local/lib/后,执行/sbin/ldconfig
或者cp /usr/local/lib/liblzo2.* /usr/lib64/
三、lzo编码/×××的安装:
wget https://download.github.com/kevinweil-hadoop-lzo-2ad6654.tar.gz

tar-zxvf kevinweil-hadoop-lzo-2ad6654.tar.gz

cd kevinweil-hadoop-lzo-2ad6654

ant compile-native tar

#将本地库以及Jar包拷贝到hadoop对应的目录下,并分发到各节点上
cp lib/native/Linux-amd64-64/* /opt/hadoop/hadoop/lib/native/Linux-amd64-64/  #32位系统则是32位的路径目录
cp hadoop-lzo-0.4.10.jar .../hadoop/lib/
四、hadoop配置
vi core-site.xml
[html] view plaincopy
  1. <property>
  2. <name>io.compression.codecs</name>
  3. <value>org.apache.hadoop.io.compress.GzipCodec,org.apache.hadoop.io.compress.DefaultCodec,com.hadoop.compression.lzo.LzoCodec,com.hadoop.compression.lzo.LzopCodec,org.apache.hadoop.io.compress.BZip2Codec</value>
  4. </property>
  5. <property>
  6. <name>io.compression.codec.lzo.class</name>
  7. <value>com.hadoop.compression.lzo.LzoCodec</value>
  8. </property>
vi mapred-site.xml
[html] view plaincopy
  1. <property>
  2. <name>mapred.compress.map.output</name>
  3. <value>true</value>
  4. </property>
  5. <property>
  6. <name>mapred.map.output.compression.codec</name>
  7. <value>com.hadoop.compression.lzo.LzoCodec</value>
  8. </property>
以上在hadoop-0.20.203.0中测试通过,但在204.0和205.0中会出现如下问题:
hadoop-0.20.204.0中报错:
2012-01-06 12:09:30,475 ERROR lzo.GPLNativeCodeLoader (GPLNativeCodeLoader.java:<clinit>(36)) - Could not load native gpl library
java.lang.UnsatisfiedLinkError: no gplcompression in java.library.path
        at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1734)
        at java.lang.Runtime.loadLibrary0(Runtime.java:823)
        at java.lang.System.loadLibrary(System.java:1028)
        at com.hadoop.compression.lzo.GPLNativeCodeLoader.<clinit>(GPLNativeCodeLoader.java:32)
        at com.hadoop.compression.lzo.LzoCodec.<clinit>(LzoCodec.java:67)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:247)
        at org.apache.hadoop.conf.Configuration.getClassByName(Configuration.java:819)
        at org.apache.hadoop.hive.ql.io.RCFile$Reader.init(RCFile.java:1109)
        at org.apache.hadoop.hive.ql.io.RCFile$Reader.<init>(RCFile.java:983)
        at org.apache.hadoop.hive.ql.io.RCFile$Reader.<init>(RCFile.java:964)
        at org.apache.hadoop.hive.ql.io.RCFileRecordReader.<init>(RCFileRecordReader.java:52)
        at org.apache.hadoop.hive.ql.io.RCFileInputFormat.getRecordReader(RCFileInputFormat.java:57)
        at org.apache.hadoop.hive.ql.exec.FetchOperator.getRecordReader(FetchOperator.java:306)
        at org.apache.hadoop.hive.ql.exec.FetchOperator.getNextRow(FetchOperator.java:320)
        at org.apache.hadoop.hive.ql.exec.FetchTask.fetch(FetchTask.java:133)
        at org.apache.hadoop.hive.ql.Driver.getResults(Driver.java:1114)
        at org.apache.hadoop.hive.cli.CliDriver.processCmd(CliDriver.java:187)
        at org.apache.hadoop.hive.cli.CliDriver.processLine(CliDriver.java:241)
        at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:456)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.apache.hadoop.util.RunJar.main(RunJar.java:156)
2012-01-06 12:09:30,476 ERROR lzo.LzoCodec (LzoCodec.java:<clinit>(77)) - Cannot load native-lzo without native-hadoop
2012-01-06 12:09:30,478 ERROR CliDriver (SessionState.java:printError(343)) - Failed with exception java.io.IOException:java.lang.RuntimeException: native-lzo library not available
java.io.IOException: java.lang.RuntimeException: native-lzo library not available
        at org.apache.hadoop.hive.ql.exec.FetchOperator.getNextRow(FetchOperator.java:341)
        at org.apache.hadoop.hive.ql.exec.FetchTask.fetch(FetchTask.java:133)
        at org.apache.hadoop.hive.ql.Driver.getResults(Driver.java:1114)
        at org.apache.hadoop.hive.cli.CliDriver.processCmd(CliDriver.java:187)
        at org.apache.hadoop.hive.cli.CliDriver.processLine(CliDriver.java:241)
        at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:456)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.apache.hadoop.util.RunJar.main(RunJar.java:156)
Caused by: java.lang.RuntimeException: native-lzo library not available
        at com.hadoop.compression.lzo.LzoCodec.getDecompressorType(LzoCodec.java:180)
        at org.apache.hadoop.hive.ql.io.CodecPool.getDecompressor(CodecPool.java:122)
        at org.apache.hadoop.hive.ql.io.RCFile$Reader.init(RCFile.java:1117)
        at org.apache.hadoop.hive.ql.io.RCFile$Reader.<init>(RCFile.java:983)
        at org.apache.hadoop.hive.ql.io.RCFile$Reader.<init>(RCFile.java:964)
        at org.apache.hadoop.hive.ql.io.RCFileRecordReader.<init>(RCFileRecordReader.java:52)
        at org.apache.hadoop.hive.ql.io.RCFileInputFormat.getRecordReader(RCFileInputFormat.java:57)
        at org.apache.hadoop.hive.ql.exec.FetchOperator.getRecordReader(FetchOperator.java:306)
        at org.apache.hadoop.hive.ql.exec.FetchOperator.getNextRow(FetchOperator.java:320)
        ... 10 more
解决办法:在$hadoop_home/bin/hadoop文件中增加如下一行即可JAVA_LIBRARY_PATH=$hadoop_home/lib/native/Linux-amd64-64

在hadoop-0.20.205版本中处了该错误外,还有一个错误,就是找不到lzo的jar包,这是因为他们家在classpath的方法有了 变更,默认不会把$hadoop_home/lib目录下的所有jar包都加载,所以在/conf/hadoop-env.sh中增加如下代码即可解 决:export  HADOOP_CLASSPATH=$HADOOP_CLASSPATH:$hadoop_home/lib/hadoop-lzo.jar

转载自:http://blog.csdn.net/zyj8170/article/details/6598082。

转载于:https://blog.51cto.com/xg2007524/815823

lzo的安装及在hadoop中的配置相关推荐

  1. CGAL的安装与在VS中的配置

    CGAL的安装与在VS中的配置 参考:CGAL编译与使用(Windows) · 语雀 (yuque.com) ​ CGAL+VS+Qt环境配置_balduck的博客-CSDN博客_cgal qt 从5 ...

  2. Mac下安装Tomcat以及IDEA中的配置

    安装brew 打开终端输入以下命令: /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/in ...

  3. 怎样用u盘linux安装ntp协议,电脑中怎么配置NTP服务

    NTP服务器是用来使计算机时间同步化的一种协议,可提供高精准度的时间校正,而且能通过加密确认来防止恶毒的协议攻击.下面让学习啦小编为大家介绍如何在电脑中配置NTP服务来实现局域网内设备的时间同步. 电 ...

  4. Tomcat的下载安装以及在eclipse中的配置

    Tomcat的下载 Tomcat官网下载地址:http://tomcat.apache.org/ Tomcat版本选择 操作系统位数选择 下载好后,自己选择安装在哪个盘符下,比如放在D盘,那么直接解压 ...

  5. hadoop中JAVA_HOME配置错误问题

    在配置hadoop集群的时候,每次启动都会出现如下错误,说我java_home配置错误,找了很多配置文件中路径都是没问题的,但是怎么还会出现下面的错误呢? master: Error: JAVA_HO ...

  6. Hadoop LZO的安装与配置

    2019独角兽企业重金招聘Python工程师标准>>> Hadoop支持好几种压缩算法,包括: Bzip2 Gzip DEFLATE Hadoop提供这些算法的Java实现,所以可以 ...

  7. hadoop中使用lzo压缩算法

    在hadoop中使用lzo的压缩算法可以减小数据的大小和数据的磁盘读写时间,不仅如此,lzo是基于block分块的,这样他就允许数据被分解成chunk,并行的被hadoop处理.这样的特点,就可以让l ...

  8. Hadoop环境 IDE配置(在eclipse中安装hadoop-eclipse-plugin-2.7.3.jar插件)

    一.hadoop-eclipse-plugin-2.7.3.jar插件下载点击下载 二.把插件放到eclipse的安装目录dropins下 三.eclipse上的配置 3.1 打开Window--&g ...

  9. hadoop中MapReduce中压缩的使用及4种压缩格式的特征的比较

    在比较四中压缩方法之前,先来点干的,说一下在MapReduce的job中怎么使用压缩. MapReduce的压缩分为map端输出内容的压缩和reduce端输出的压缩,配置很简单,只要在作业的conf中 ...

最新文章

  1. 2008年上半年 网络工程师 上下午试卷【附带答案】
  2. 实体识别+entity resolution
  3. ScottGu之博客翻译-LINQ to SQL第三部分,查询数据库 (Part 3 - Querying our Database)
  4. (转)一步一步Asp.Net MVC系列_权限管理设计起始篇
  5. 直播 | ICLR 2021论文解读:兼听则明,信而有征:可信多模态分类
  6. Java/Android引用类型及其使用分析
  7. 计算一个数的二进制中1的个数
  8. 你和学霸的差距,不只是成绩
  9. 【渝粤题库】国家开放大学2021春3620矿井火灾防治题目
  10. 微软的OneNote正在获得类似Win11风格的外观
  11. mysql导入组织树脚本_mysql存储过程递归调用发作树数据
  12. 用TCP/IP实现自己简单的应用程序协议:成帧器部分
  13. mysql pheonix hbase,mybatis连接phoenix操作hbase
  14. EGE程序打包发布与图标修改
  15. 数值分析复习(六)——常微分方程数值解法
  16. ❤️【图文并茂】Chrome浏览器(油猴子)插件安装使用教程❤️
  17. 《数学建模与数学实验》第5版 作图 习题2.6
  18. 拉盖尔多项式的正交性
  19. Win32_VideoController 显卡 参数说明
  20. 虚拟化技术 — GuestOS Agent

热门文章

  1. jenkins组权限_JENKINS针对不同项目组对用户进行权限分配-阿里云开发者社区
  2. php头尾分离,laravel怎么做模板的头尾分离
  3. ai怎么让图片任意变形_想一键提取图片文字,有什么好的文字识别软件/APP推荐吗?...
  4. 在线电脑配置PHP源码,域名授权系统PHP源码 V2.7.0 支持盗版追踪
  5. 【Java基础篇】集合排序
  6. (二)C语言数据类型(2)
  7. easyui中onchange事件_React中类似Vue的“模板语法”
  8. Mysql union联合查询_Mysql联合查询union和union all的使用介绍
  9. mysql ddl dql_MySQL的DDL和DML及其DQL数据库操作
  10. 电脑打字手指正确姿势_正确的弹琴手型,应该是怎样的?