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

记录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

 

分享到:
评论

相关推荐

    CentOS hadoop native lib

    对于Linux系统,尤其是CentOS这样的企业级发行版,这些本地库被称为“native libraries”。 标题"CentOS hadoop native lib"指的是在CentOS 64位环境下,为Hadoop编译生成的本地库。这些库通常包含了C或C++编写的...

    hadoop-2.7.7-native.tar.gz

    在`hadoop-2.7.7-native.tar.gz`中,Snappy的本地库实现了Java层无法直接使用的低级压缩和解压缩功能。通过集成Snappy,Hadoop可以快速地读取和写入Snappy压缩的数据,从而提高数据处理的效率。这对于MapReduce作业...

    hadoop-native-64-2.6.0.zip

    Hadoop使用过程报错:WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform...解决 下载过后把tar包解压在hdoop的lib/native下即可

    hadoop native 包

    Hadoop的原生库(Native Libraries)是其核心组件之一,对于优化性能、提高数据处理速度至关重要。本文将深入探讨Hadoop原生包,特别是针对64位Linux系统编译生成的Hadoop+Snappy native包。 Hadoop原生库是一组C++...

    hadoop-3.1.3-mac-native_lib.zip

    总结来说,这个“hadoop-3.1.3-mac-native_lib.zip”文件解决了macOS用户在部署和运行Hadoop时可能遇到的本地库兼容性问题。通过编译特定的本地库,用户可以确保Hadoop在macOS环境下正确运行,充分利用其分布式计算...

    在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-native-64-2.7.0.tar

    解决:Unable to load native-hadoop library for your platform 问题 原因: Apache提供的hadoop本地库是32位的,而在64位的服务器上就会有问题,因此需要自己编译64位的版本。 将准备好的64位的lib包解压到已经...

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

    当在64位Linux系统上运行Hadoop 2.2.0时,如果遇到如性能下降、无法启动或者错误提示需要特定的native库,这时就需要使用这个预编译好的native文件夹。将这个文件夹替换到Hadoop安装目录下的相应位置,可以确保...

    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 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

    Hadoop本地调试NativeIO

    在本地调试Hadoop NativeIO的过程中,开发者可能遇到各种问题,比如编译错误、依赖库不匹配、动态链接问题等。调试通常涉及以下步骤: 1. **环境配置**:确保系统安装了正确的版本的Java开发工具(JDK)、C/C++...

    hadoop2.8.1 64bit native 编译

    Hadoop的Native Libraries是一组C/C++编写的库,它们提供了与操作系统更紧密的交互,例如提升I/O性能、支持硬件加速等。这些库是可选的,但安装后可以显著提高Hadoop集群的性能。 2. **Hadoop 2.8.1 版本**: ...

    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 native lib

    在Hadoop生态系统中,Hadoop Native Libraries(简称Native Libs)扮演着至关重要的角色。这些本地库是用C或C++编写的,旨在与Java组件进行交互,以提高Hadoop系统的性能和效率。尤其在处理I/O密集型任务时,如数据...

    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源代码重新编译, 但中间需要下载安装...

    hadoop-native原始包-压缩-native-2.7.2-ct7.x.tgz

    标题 "hadoop-native原始包-压缩-native-2.7.2-ct7.x.tgz" 指涉的是Hadoop项目中的一个特定组件——原生库(Native Libraries),这是一个针对Hadoop 2.7.2版本优化的压缩包,特别为CT7(可能是某个特定的计算或集群...

    mac下编译hadoop3.1.4源码生成的native库

    <echo message="Building native libraries"/> ${basedir}/src/native" executable="make"> ${env.CC}"/> ${env.CXX}"/> ``` 确保`MACOSX_DEPLOYMENT_TARGET`值与你的Mac系统版本相匹配。...

    Native Hadoop3.2.1 Library 64位编译

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

    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-2.9.2的64位本地库

    本地库(Native Libraries)在Hadoop中扮演着关键角色,它们主要是C++编写的,用于提升Hadoop的性能,尤其是在文件系统操作和内存管理等方面。这些库包括如libhdfs和libhadoop等,它们提供了与操作系统的直接交互,...

Global site tag (gtag.js) - Google Analytics