文档章节

Hadoop不能加载本地库问题解决

山哥
 山哥
发布于 2016/09/22 16:50
字数 513
阅读 70
收藏 0

在执行hadoop命令或者启动dfs、yarn的时候总会出现这个警告

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

修改下log输出日志的级别,获取更多的信息,在执行hadoop命令之前设置下

1
export HADOOP_ROOT_LOGGER=DEBUG,console

再执行启动dfs命令,控制台输出了一些debug信息,快看看是啥原因导致这个警告的出现。发现GLIBC_2.14这个东东没有找到

1
`GLIBC_2.14' not found (required by opt/hadoop/lib/native/libhadoop.so.1.0.0)

glibc是什么东西呢?

glibc是GNU发布的libc库,即c运行库。glibc是linux系统中最底层的api,几乎其它任何运行库都会依赖于glibc。glibc除了封装linux操作系统所提供的系统服务外,它本身也提供了许多其它一些必要功能服务的实现。

看来这个库在linux系统中很重要呀!!!

我们先看下我们操作系统的glib版本是什么

1
strings /lib64/libc.so.6 | grep GLIBC

系统是2.12版本的,hadoop需要2.14版本才行,下面来对libc库进行升级。

下载

1
wget http://mirror.bjtu.edu.cn/gnu/libc/glibc-2.14.tar.xz

解压

1
tar xvf glibc-2.14.tar.gz

编译

1
2
3
4
5
6
cd glibc-2.14
mkdir build
cd build
../configure --prefix=/usr/local/glibc-2.14   // 配置glibc并设置当前glibc-2.14安装目录
make -j4
make install

安装完了,我们接下来要去更新系统的lib库,先复制libc-2.14.so到/lib64目录下

1
cp /usr/local/glibc-2.14/lib/libc-2.14.so /lib64/libc-2.14.so

备份原来的/lib64/libc.so.6

1
mv /lib64/libc.so.6 /lib64/libc.so.6.bak

备份好了,ls看一下

1
2
3
[root@hadoop001 ~]# ls
ls: error while loading shared libraries: libc.so.6: cannot open 
shared object file: No such file or directory

oh,No,ls命令不能用啦,咋回事,这还能不能愉快的玩耍啦,不要着急,我们continue吧

1
LD_PRELOAD=/lib64/libc-2.14.so ln –s /lib64/libc-2.14.so  /lib64/libc.so.6

Ok,大功告成。

本文转载自:http://dxer.github.io/2016/04/05/hadoop_native_lib/

山哥

山哥

粉丝 246
博文 353
码字总数 136686
作品 0
南京
程序员
私信 提问
Hadoop的本地库(Native Libraries)及相关问题总结

主体转自:http://blog.sina.com.cn/s/blog3d9e90ad0102wqrp.html (未亲测,我的getconf LONGBIT返回32,且file libhadoop.so.1.0.0返回64,与之相反) Hadoop的本地库(Native Libraries)...

u013303361
2018/04/23
0
0
spark提示 Unable to load native-hadoop lib

spark在提交任务的时候,也会跟hadoop一样,报这个异常。 前提是hadoop/lib/native中已经有那些包了,然后把hadoop/lib/native加到环境变量LDLIBRARYPATH中。 在~/.bashrc中加入如下代码,为...

cjun1990
2016/04/20
623
0
使用Eclipse运行Hadoop 2.x MapReduce程序常见问题

1、 当我们编写好MapReduce程序,点击Run on Hadoop的时候,Eclipse控制台输出如下内容: 这个信息告诉我们没有找到log4j.properties文件。如果没有这个文件,程序运行出错的时候,就没有打印...

chapin
2014/10/21
0
0
Hadoop运维记录系列(二十)

记录一下spark和pyspark在Zeppelin里面访问lzo文件报错的问题。 由于甲方全球500强极度抠门,死活不愿意加服务器,然后接入的数据源又多,小集群很快就会被撑满,所以没办法,原始日志均采用...

Slaytanic
2017/07/12
0
0
Hadoop 2.2.0 (YARN)搭建笔记

最近工作需要,摸索着搭建了Hadoop 2.2.0(YARN)集群,中间遇到了一些问题,在此记录,希望对需要的同学有所帮助。 本篇文章不涉及hadoop2.2的编译,编译相关的问题在另外一篇文章《hadoop 2....

蓝狐乐队
2014/05/15
0
0

没有更多内容

加载失败,请刷新页面

加载更多

C# 视频多人脸识别的实现过程

整个项目是用虹软技术完成开发 上一篇内容的调整,提交到git了,https://github.com/catzhou2002/ArcFaceDemo 基本思路如下: 一、识别线程 1.获取当前图片 2.识别当前图片的人脸位置,并将结...

是哇兴哥棒棒哒
28分钟前
1
0
Spring Cloud Eureka 你还在让它裸奔吗??

前些天栈长在微信公众号Java技术栈分享了 Spring Cloud Eureka 最新版 实现注册中心的实战教程:Spring Cloud Eureka 注册中心集群搭建,Greenwich 最新版!,成功进入 Eureka 控制台页面。 ...

Java技术栈
44分钟前
1
0
linux gyp ERR! stack Error: EACCES: permission denied, mkdir ‘xxx’

在使用linux npm install的出现这个错误了,百度了下,没有权限加个参数即可 npm install --unsafe-perm

朝如青丝暮成雪
45分钟前
1
0
使用kubeadm 搭建K8s集群

1. 参考官网 https://kubernetes.io/docs/setup/independent/install-kubeadm/

whhbb
今天
3
0
Dubbo 3.0 !提升不止一点点!

Dubbo 自 2011 年 10 月 27 日开源后,已被许多非阿里系的公司使用,其中既有当当网、网易考拉等互联网公司,也不乏中国人寿、青岛海尔等大型传统企业。 自去年 12 月开始,Dubbo 3.0 便已正...

编程SHA
今天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部