在配置好hadoop的环境之后,命令启动./start-all.sh发现经常出现这样的一个警告:

WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable

关于解决这个问题总结了一下方法:

按警告的描述是说  hadoop的native库导入失败,定位这个问题就是要看下native目录下的静态库 libhadoop.so.1.0.0文件,一般出现这个问题都是依赖包版本的过低导致不兼容问题。

1、因为网上有的说是linux系统是32位,libhadoop.so.1.0.0是64位,就会导致这个问题,那我们先来看一下系

[root@master sbin]# uname -r
2.6.-.el6.x86_64

在看一下libhadoop.so.1.0.0的版本

[root@master native]# file libhadoop.so.1.0.
libhadoop.so.1.0.: ELF -bit LSB shared object, x86-, version (SYSV), dynamically linked, not stripped

可以看到版本都是64位,不存在问题。

2、排除了第一个问题,那我们只能来查看一下依赖库的版本了

[root@master native]# ldd libhadoop.so.1.0.
./libhadoop.so.1.0.: /lib64/libc.so.: version `GLIBC_2.' not found (required by ./libhadoop.so.1.0.0)
linux-vdso.so. => (0x00007fff31efd000)
libdl.so. => /lib64/libdl.so. (0x00007f654dd25000)
libpthread.so. => /lib64/libpthread.so. (0x00007f654db07000)
libc.so. => /lib64/libc.so. (0x00007f654d775000)
/lib64/ld-linux-x86-.so. (0x00007f654e155000)

GLIBC_2.14的版本未找到,那我们接下来确认下glibc的系统库版本

[root@master sbin]# ldd --version
ldd (GNU libc) 2.12
Copyright (C) Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
由 Roland McGrath 和 Ulrich Drepper 编写。

可以看到当前的版本是2.12,可以确认下GLIBC所支持的版本

由 Roland McGrath 和 Ulrich Drepper 编写。
[root@master sbin]# strings /lib64/libc.so.|grep GLIBC
GLIBC_2.2.5
GLIBC_2.2.6
GLIBC_2.
GLIBC_2.3.2
GLIBC_2.3.3
GLIBC_2.3.4
GLIBC_2.
GLIBC_2.
GLIBC_2.
GLIBC_2.
GLIBC_2.
GLIBC_2.
GLIBC_2.
GLIBC_2.
GLIBC_2.
GLIBC_PRIVATE

最大支持到2.12版本,而我们hadoop中的版本是2.14,可以确定基本是这个问题造成的;那接下来的解决办法就是更新系统的CLIBC版本。

这里有GLIBC的官方版本  http://ftp.gnu.org/gnu/libc/

我们选择一个比2.12高的版本

wget  http://ftp.gnu.org/gnu/glibc/glibc-2.17.tar.gz 

接下来安装一下glibc-2.17.tar.gz

[root@master /]# cd /opt/
[root@master opt]# wget http://ftp.gnu.org/pub/gnu/glibc/glibc-2.17.tar.gz
[root@master opt]# tar -zxvf glibc-2.17.tar.gz
[root@master opt]# cd glibc-2.17
[root@master glibc-2.17]#
[root@master glibc-2.17]# mkdir build
[root@master glibc-2.17]# cd build/
[root@master build]#
[root@master build]#../configure --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin
[root@master build]#make && make install

安装完成后再查一下CLIBC版本:

[root@master build]# strings /lib64/libc.so.|grep GLIBC
GLIBC_2.2.5
GLIBC_2.2.6
GLIBC_2.
GLIBC_2.3.2
GLIBC_2.3.3
GLIBC_2.3.4
GLIBC_2.
GLIBC_2.
GLIBC_2.
GLIBC_2.
GLIBC_2.
GLIBC_2.
GLIBC_2.
GLIBC_2.
GLIBC_2.
GLIBC_2.
GLIBC_2.
GLIBC_2.
GLIBC_2.
GLIBC_2.
GLIBC_PRIVATE

已经支持到2.17了,然后再启动一下hadoop,发现那个警告消失了,证明我们的问题解决了。

[root@master sbin]# ./start-all.sh
Starting namenodes on [master]
Starting datanodes
Starting secondary namenodes [master]
Starting resourcemanager
Starting nodemanagers

  

Hadoop问题解决:WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable的更多相关文章

  1. Hadoop安装—— WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platf

    今天在安装hadoop完成测试创建用户目录失败在网上找到了原因记录一下原文地址 http://blog.csdn.net/l1028386804/article/details/51538611 配置 ...

  2. Hadoop之—— WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform...

    [hadoop@hadoop000 hadoop]$ ldd --version ldd (GNU libc) 2.12 Copyright (C) Free Software Foundation, ...

  3. hadoop命令运行,去除:WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform 警告

    参照:Hadoop之—— WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... 修 ...

  4. Hadoop _ 疑难杂症 解决1 - WARN util.NativeCodeLoader: Unable to load native-hadoop library for your plat

    最近博主在进行Hive测试 压缩解压缩的时候 遇到了这个问题, 该问题也常出现在日常 hdfs 指令中, 在启动服务 与 hdfs dfs 执行指令的时候 : 都会显示该提示,下面描述下该问题应该如何 ...

  5. [hadoop] WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable

    hadoop 启动后,有警告信息: WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform ...

  6. Hadoop集群“WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable”解决办法

    Hadoop集群部署完成后,经常会提示 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platfo ...

  7. HADOOP:WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable终于解决了

    WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin- ...

  8. Hadoop出现错误:WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable,解决方案

    安装Hadoop的时候直接用的bin版本,根据教程安装好之后运行的时候发现出现了:WARN util.NativeCodeLoader: Unable to load native-hadoop li ...

  9. hadoop报错WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable

    19/06/14 10:44:58 WARN common.Util: Path /opt/hadoopdata/hdfs/name should be specified as a URI in c ...

随机推荐

  1. centOS7开启ssh免密登陆

    一.登陆服务器生成ssh-key 二.把ssh-key复制到被登陆机器上 三.设置权限 root# .ssh 文件夹权限 root# .ssh/authorized_keys 文件权限 四.测试是否正 ...

  2. C++的static_cast、dynamic_cast和const_cast用法

    static_cast.dynamic_cast和const_cast static_cast: ​ 用法: static_cast < type-id > (expression) ​ ...

  3. 利用Windows内置工具winsat测试硬盘速度(SSD&机械盘对比)

    利用Windows内置工具winsat测试硬盘速度(SSD&机械盘对比) 以下是红色内容是在命令行运行: C:\Users\Administrator>winsat diskWindow ...

  4. SLF4J使用,slf4j-api、slf4j-log4j12以及log4j的关系

    SLF4J不同于其他日志类库,与其它有很大的不同.SLF4J(Simple logging Facade for Java)不是一个真正的日志实现,而是一个抽象层( abstraction layer ...

  5. Android -------- kotlin插件神器Json直接生成javaBean

    这是一个data class从JSON字符串生成Kotlin 的插件,换句话说,是一个将JSON字符串转换为Kotlin data class(Json到Kotlin)的插件 在使用Kotlin进行开 ...

  6. 004 制作自己的Java镜像

    一:制作镜像 1.需要的知识 dockfile docker build Jpress : http://jpress.io/       开源免费的新媒体运营系统 2.下载jpress http:/ ...

  7. npm和yarn常用调试命令

    yarn查看全局安装路径 yarn global dir npm查看所有全局安装的包<全局路径也会显示> npm list --depth=0 -global

  8. c++ 二进制方式读取文件 读取特殊类型数据

    #include <iostream> #include <fstream> using namespace std; /* 二进制方式进行读写文件,可以读写 各种各样数据类型 ...

  9. 让typecho支持PHP7

    在PHP7环境下新安装Typecho默认是使用Pdo_Mysql数据库引擎驱动 如果之前Typecho运行环境不是PHP7,后来才升级为PHP7的,那么,需要将你的Typecho数据库引擎修改为Pdo ...

  10. 从支付宝SDK的支付流程理解什么是公钥和私钥,什么是加密和数字签名

    ------------------- 这是自己总结: 支付宝SDK支付用到的公钥与私钥整理如下: 1.商户应用公钥    2.商户应用私钥 3.支付宝公钥 4.支付宝私钥   商户应用的公钥与私钥生 ...