• 使用hadoop命令警告提示:Unable to load native-hadoop library for your platform... using builtin-java classes where applicable


    使用hadoop命令警告提示:Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
    我的系统版本:centos6.5 64位
    我的hadoop版本:2.1.7 64位

    网上查看了很多问题解决方法,有的说系统位数不对,有的说hadoop版本是32位,等等,因为我的都是64位,所以这些和我的问题不一致
    方法是:打开hadoop调试,跟踪错误信息
    hadoop调试信息开启关闭:
    开启:export HADOOP_ROOT_LOGGER=DEBUG,console
    关闭:export HADOOP_ROOT_LOGGER=INFO,console


    查看内核版本命令:cat /proc/version
    查看linux版本: lsb_release -a
    查看hadoop版本和位数:进入到hadoop目录/lib/native
    使用命令:file libhadoop so1.0.0
    hadoop checknative -a 查看lib是否有错误

    参考资料http://blog.sina.com.cn/s/blog_4eca88390102vn86.html
    http://www.aboutyun.com/blog-9721-878.html#userconsent#
    http://www.aboutyun.com/blog-9721-878.html#userconsent#
    http://www.linuxidc.com/Linux/2012-04/59200.htm

    解决过程:

    1,进入到hadoop目录下,lib,native
    ll /lib64/libc.so.6,查看库的版本
    lrwxrwxrwx. 1 root root 12 11月 3 23:06 /lib64/libc.so.6 -> libc-2.12.so 2.12的版本,现在要把它升级到2.14

    2,下载glibc-2.14.tar.bz2
    下载glibc-linuxthreads-2.5.tar.bz2
    拷贝到 /home/hadoop/software目录下

    3,tar -jxvf /home/hadoop/software/glibc-2.14.tar.bz2 解压
    cd glibc-2.14/
    tar -jxvf /home/hadoop/software/glibc-linuxthreads-2.5.tar.bz2
    export CFLAGS="-g -O2" #加上优化开关,否则会出现错误
    cd .. #必须返回上级目录

    export CFLAGS="-g -O2" #加上优化开关,否则会出现错误
    (下面这句出错)
    ./glibc-2.14/configure --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin
    [root@hadoop02 native]# ./glibc-2.14/configure --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin
    checking build system type... x86_64-unknown-linux-gnu
    checking host system type... x86_64-unknown-linux-gnu
    checking for gcc... no
    checking for cc... no
    checking for cl.exe... no
    configure: error: in `/root/soft/hadoop-2.7.1/lib/native':
    configure: error: no acceptable C compiler found in $PATH
    See `config.log' for more details
    4,现在提示没有编译工具,那么安装;

    1.安装gcc|gc++
    yum install gcc
    yum install gcc-c++
    验证

    现在再来执行这句话;
    ./glibc-2.14/configure --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin
    可以成功运行了

    make(需要很长时间),如果这句话报错,安装make
    yum install make
    验证: make --version

    sudo make install #安装,必须root用户执行

    make: *** [install] 错误 2 显示错误两个,先不理他
    ll /lib64/libc.so.6 查看现在我的libc的版本
    lrwxrwxrwx. 1 root root 12 11月 18 21:13 /lib64/libc.so.6 -> libc-2.14.so 2.14,说明升级成功了
    增加调试信息
    export HADOOP_ROOT_LOGGER=DEBUG,console
    hadoop fs -text /test/data/origz/access.log.gz 验证本机的版本
    15/11/18 13:15:30 DEBUG util.NativeCodeLoader: Loaded the native-hadoop library 说明也是对的,有报错,先不管这个

    ,5,然后我把hadoop集群重启一遍;
    /root/soft/hadoop-2.7.1/sbin 进入到这个目录
    ./start-all.sh
    ./stop-all.sh
    export HADOOP_ROOT_LOGGER=INFO,console 关闭调试

    ,6,hadoop fs -ls / 测试效果,发现hadoop01拒绝连接,把它打开
    警告消失了,说明升级libc是有用的。
    至此Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
    问题得到解决
    之前 hadoop checknative -a显示全部是失败,现在都变好了


























  • 相关阅读:
    oracle基本语句
    SVM入门(六)线性分类器的求解——问题的转化,直观角度
    深入浅出KMeans算法
    SVM入门(三)线性分类器Part 2
    SVM入门(一)SVM的八股简介
    Hadoop源代码分析(五)
    用HTML5 Audio API开发游戏音乐
    Hadoop源代码分析(六)
    SVM入门(四)线性分类器的求解——问题的描述Part1
    SVM入门(二)线性分类器Part 1
  • 原文地址:https://www.cnblogs.com/xiaoxiao5ya/p/4976193.html
Copyright © 2020-2023  润新知