`
san_yun
  • 浏览: 2594808 次
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

记录Hadoop native libraries无法load的问题

 
阅读更多

今天遇到一个错误,在本地往Hadoop写文件的时候报了一个错误:

SequenceFile doesn't work with GzipCodec without native-hadoop code!

 

SequenceFile有个判断会抛出这个exception

 private static Writer
    createWriter(Configuration conf, FSDataOutputStream out, 
                 Class keyClass, Class valClass, boolean compress, boolean blockCompress,
                 CompressionCodec codec, Metadata metadata)
    throws IOException {
    if (codec != null && (codec instanceof GzipCodec) && 
        !NativeCodeLoader.isNativeCodeLoaded() && 
        !ZlibFactory.isNativeZlibLoaded(conf)) {
      throw new IllegalArgumentException("SequenceFile doesn't work with " +
                                         "GzipCodec without native-hadoop code!");
    }

 

通过这段代码可以测试这个错误。

import org.apache.hadoop.io.compress.zlib.ZlibCompressor;

public class MyTester {

	public static void main(String[] args) {
		new ZlibCompressor();
	}
}

 

如何避免?

有两种解决方案:

1. 把hadoop.native.lib设置为false

2. 把/duitang/dist/sys/hadoop-1.2.1/lib/native/Linux-amd64-64/*下的so文件copy到/duitang/dist/sys/java/jre/lib/amd64

 

分享到:
评论

相关推荐

    多版本Hadoop Native Lib x64

    Hadoop 64位本地库,内部包含2.4、 2.5、2.6、2.7几个不同版本,可以根据需要选择解压使用。...hadoop-native-64-2.4.1.tar hadoop-native-64-2.5.2.tar hadoop-native-64-2.6.0.tar hadoop-native-64-2.7.0.tar

    CentOS hadoop native lib

    Centos64 位 hadoop 编译后的 本地lib。

    Hadoop-NativeIO.java

    解决本地调试Hadoop 异常。 org.apache.hadoop.io.nativeio.NativeIO$Windows.access0(Ljava/lang/String;I)Z

    Hadoop源码_NativeIO.java

    org.apache.hadoop.io.nativeio.NativeIO$Windows.access0(Ljava/lang/String;I)Z Hadoop源码_NativeIO.java

    在linux中编译64位的 hadoop 2.4.1native

    2.自己安装搜索“编译64位的hadoop 2.4.1”参考:http://hadoop.apache.org/docs/r2.3.0/hadoop-project-dist/hadoop-common/NativeLibraries.html The native hadoop library is written in ANSI C and is built ...

    hadoop 2.8.0 macOS native library

    安装hadoop启动之后总有警告:Unable to load native-hadoop library for your platform... using builtin-java classes where applicable 原因: Apache提供的hadoop本地库是32位的,而在64位的服务器上就会有问题...

    hadoop-native-64-2.4.0.tar

    hadoop-native-64-2.4.0.tar 解决运行hadoop 警告:WARN util.NativeCodeLoader: Unable to load native-hadoop

    Unable to load native-hadoop library for your platform...

    Unable to load native-hadoop library for your platform... using builtin-java classes where applicable 1. 下载文件native.rar 并解压 2. 用SecureFX 上传, 替换native目录下文件,选择二进制文件上传。 3. ...

    Hadoop 2.2.0 64位native文件(重编译)

    Hadoop 2.2.0版本中在64为linux系统上运行所需要的native库文件。需要时用此native文件夹覆盖Hadoop 2.2.0中native文件夹即可。

    hadoop2.8.1 native for macOS10

    WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable Found 2 items 解决方法是下载hadoop源代码重新编译, 但中间需要下载安装...

    Native Hadoop3.2.1 Library 64位编译

    Native Hadoop3.2.1 Library 64位编译,...Hadoop是使用Java语言开发的,但是有一些需求和操作并不适合使用java,所以就引入了本地库(Native Libraries)的概念,通过本地库,Hadoop可以更加高效地执行某一些操作。

    hadoop-3.1.3-mac-native_lib.zip

    macOS 下编译的hadoop-3.1.3源码所得的native库,可解决mac系统安装hadoop因缺失native库引起的报错

    hadoop2.8.1 native for mac

    macOS下使用hadoop2.8.1时, 执行hadoop fs 命令(如:hadoop fs -ls /tmp/input)会提示: WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platfo

    hadoop native 包

    hadoop+snappy 64linux为机器下编译生成native包

    hadoop-2.7.2的native包-含snappy

    编译环境:centos 6 + hadoop-2.7.2 +jdk1.8.0_152...含snappy

    hadoop lib/native

    在安装hadoop时如果遇到WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform这个错误,请下载该文件放到hadoop目录下,Mac中放到libexec目录下。

    hadoop native

    hadoop 64位编译后的成果,native目录 libhadoop.a libhadoop.so libhadoop.so.1.0.0 libhadooppipes.a libhadooputils.a libhdfs.a libhdfs.so libhdfs.so.0.0.0

    mac hadoop2.6.0 lib/native

    mac下Hadoop native library,用于解决报错:WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform… using builtin-java classes where applicable。再次说明,本版本只适用于mac ...

    hadoop_64_native_lib

    解决unable to load native library的问题 mac brew install hadoop方式安装的hadoop没有lib文件夹 官方下载的hadoop包是32位的在64位机器需要编译后才可以 将lib文件放到hadoop目录中即可

    hadoop 2.4.1 64位native包

    hadoop 2.4.1 64位native包

Global site tag (gtag.js) - Google Analytics