【问题标题】:WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicableWARN util.NativeCodeLoader:无法为您的平台加载 native-hadoop 库...在适用的情况下使用内置 java 类
【发布时间】:2016-11-07 00:29:39
【问题描述】:

alpesh@alpesh-Inspiron-3647:~/hadoop-2.7.2/sbin$ hadoop fs -ls 16/07/05 13:59:17 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable

它还向我显示如下输出

hadoop check native -a 16/07/05 14:00:42 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable Native library checking: hadoop: false zlib: false snappy: false lz4: false bzip2: false openssl: false 16/07/05 14:00:42 INFO util.ExitUtil: Exiting with status 1

请帮我解决这个问题

【问题讨论】:

    标签: hadoop


    【解决方案1】:

    您使用的库是为 32 位编译的,而您使用的是 64 位版本。所以打开你的 .bashrc 文件,其中存在 hadoop 的配置。转到这一行

    export HADOOP_OPTS="-Djava.library.path=$HADOOP_INSTALL/lib"
    

    替换成

    export HADOOP_OPTS="-Djava.library.path=$HADOOP_INSTALL/lib/native"
    

    【讨论】:

    • 感谢 Rakesh,我已经这样做了,但它仍然显示以下错误。在给出命令后,如 hadoop fs -ls 16/07/05 14:41:24 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable ls: `.': No这样的文件或目录
    • 好的,编辑完这个文件后确保运行这个命令(source .bashrc)然后检查
    • 是的,现在这个原生的msg已经解决了,请帮我运行hadoop命令。显示错误如下 hadoop fs -mkdir sam mkdir: `sam': No such file or directory
    • 这样运行 hadoop fs -mkdir /sam 就像我们的linux文件系统一样。
    • 感谢 Rakesh 请告诉我如何在 hadoop 中创建 txt 文件
    【解决方案2】:

    要摆脱这个错误:

    假设 Jar 文件位于 /home/cloudera/test.jar,类文件位于 /home/cloudera/workspace/MapReduce/bin/mapreduce/WordCount,其中 mapreduce 是包名。

    输入文件mytext.txt位于/user/process/mytext.txt,输出文件位置为/user/out

    我们应该按以下方式运行这个mapreduce 程序:

    $hadoop jar /home/cloudera/bigdata/text.jar mapreduce.WordCount /user/process /user/out
    

    【讨论】:

      【解决方案3】:

      在 Hadoop 用户的 bash 配置文件中添加这些属性,问题将得到解决

      导出 HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native

      导出 HADOOP_OPTS="-Djava.library.path=$HADOOP_COMMON_LIB_NATIVE_DIR"

      【讨论】:

        【解决方案4】:

        这只是一个警告,因为它找不到正确的 .jar。要么编译它,要么因为它不存在。

        如果我是你,我会直接省略它

        为此添加相应的配置文件

        log4j.logger.org.apache.hadoop.util.NativeCodeLoader=ERROR
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2013-09-10
          • 1970-01-01
          • 2013-11-25
          • 2015-08-02
          相关资源
          最近更新 更多