• Hadoop Snappy安装错误锦集


    HBASE压缩算法-SNAPPY算法安装这片文章中,介绍了Snappy压缩的安装方法,但是安装并非一帆风顺,中间也是各种问题频出,现将遇到的问题罗列如下:

    1./root/modules/hadoop-snappy/maven/build-compilenative.xml:62: Execute failed: java.io.IOException: Cannot run program "autoreconf" (in directory "/root/modules/hadoop-snappy/target/native-src"): java.io.IOException: error=2, No such file or directory

    Hadoop snappy的安装,是需要前置条件的:

      1. Requirements: gcc c++, autoconf, automake, libtool, Java 6, JAVA_HOME set, Maven 3

    出现这个错误,就是因为没有安装autoconf,automake,libtool的缘故。由于我是在本机ubuntu系统下测试的,只需要依次apt-get install autoconf,automake,libtool即可

    2.[exec] make: *** [src/org/apache/hadoop/io/compress/snappy/SnappyCompressor.lo] Error 1

    [ERROR] Failed to execute goal org.apache.maven.plugins:maven-antrun-plugin:1.6:run (compile) on project hadoop-snappy: An Ant BuildException has occured: The following error occurred while executing this line:
    [ERROR] /home/ngc/Char/snap/hadoop-snappy/hadoop-snappy-read-only/maven/build-compilenative.xml:75: exec returned: 2

    这个原因比较恶心,是因为Hadoop snappy对gcc版本还有要求,因为我是2012年12月份的ubuntu12.04,所以gcc已经是4.6了,但是在google code那看到有人说他从gcc4.6回退成gcc4.4就ok了,我也是了一下,果然这个错误没有了。

    gcc --version #查看gcc版本

    gcc (Ubuntu/Linaro 4.4.7-1ubuntu2) 4.6.3
    Copyright © 2010 Free Software Foundation, Inc.
    本程序是自由软件;请参看源代码的版权声明。本软件没有任何担保;
    包括没有适销性和某一专用目的下的适用性担保。

    如何回退呢?

    1. apt-get install gcc-3.4

    2. rm /usr/bin/gcc

    3. ln -s /usr/bin/gcc-4.4 /usr/bin/gcc

    之后,再gcc --version,你就会发现,gcc已经变成4.4.7了。

    3.[exec] /bin/bash ./libtool --tag=CC   --mode=link gcc -g -Wall -fPIC -O2 -m64 -g -O2 -version-info 0:1:0 -L/usr/local//lib -o libhadoopsnappy.la -rpath /usr/local/lib src/org/apache/hadoop/io/compress/snappy/SnappyCompressor.lo src/org/apache/hadoop/io/compress/snappy/SnappyDecompressor.lo  -ljvm -ldl
         [exec] /usr/bin/ld: cannot find -ljvm
         [exec] collect2: ld returned 1 exit status
         [exec] make: *** [libhadoopsnappy.la] 错误 1
         [exec] libtool: link: gcc -shared  -fPIC -DPIC  src/org/apache/hadoop/io/compress/snappy/.libs/SnappyCompressor.o src/org/apache/hadoop/io/compress/snappy/.libs/SnappyDecompressor.o   -L/usr/local//lib -ljvm -ldl  -O2 -m64 -O2   -Wl,-soname -Wl,libhadoopsnappy.so.0 -o .libs/libhadoopsnappy.so.0.0.1

    网上有很多 解决/usr/bin/ld: cannot find -lxxx 这样的博客,但是这里,我告诉你,他们的都不适用。因为这儿既不是缺什么,也不是版本不对,是因为没有把安装jvm的libjvm.so symbolic link到usr/local/lib。如果你的系统时amd64,可到/root/bin/jdk1.6.0_37/jre/lib/amd64/server/察看libjvm.so link到的地方,这里修改如下:

    ln -s /root/bin/jdk1.6.0_37/jre/lib/amd64/server/libjvm.so /usr/local/lib/
    问题即可解决。

    终于解决了,这几个遗留了很久的问题。尽情的去snappy吧~

  • 相关阅读:
    PHP-FPM doesn't write to error log
    CSS中position属性( absolute | relative | static | fixed )详解
    微信分享踩坑
    使用layer-list实现特殊的效果
    如何正确的给ViewGroup设置OnClickListener
    android:clipchildren属性
    学习有边界吗?学了几年感觉什么也做不出,学习无用?
    电动车的蓄电池与锂电池
    《增长黑客》节选与笔记
    Firefox火狐浏览器的高效使用
  • 原文地址:https://www.cnblogs.com/shitouer/p/2845954.html
Copyright © 2020-2023  润新知