WARN util.NativeCodeLoader: Unable to load native-hadoop l... using builtin-java classes where applicable(附编译脚本)
WARN util.NativeCodeLoader: Unable to load native-hadoop l... using builtin-java classes where applicable
反正我是看着这个警告十分不爽,搞得我的屏幕都不清爽了
提示hadoop不能加载本地库。
以前官网会提供32位的安装包,但目前提供的下载包为64位的,在linux 32位系统下安装后会一直提示错误“WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform… using builtin-java classes where applicable ”,但官网又不提供32位系统下的安装包,所以我们只能自己编译打包源码。
大家可以到$HADOOP_HOME/lib/native下,查看文件libhadoop.so.1.0.0,里面会显示Hadoop的位数,官网下载好的显示是64位的,截图如下:

编译准备
1、下载所需的软件
先去官网下载hadoop2.7.1源码并解压,打开解压目录下的BUILDING.txt,编译过程和需要的软件其实就是根据这个文档里的描述来的。
包括:
JDK1.7+
maven 3.0 or later
findbugs 1.3.9
protocolBuffer 2.5.0
cmake 2.6
zlib-devel
openssl-devel
根据网友的资料,也需要安装autoconf automake gcc等。
编译之后的目录
/root/packages/hadoop-2.7.4-src/hadoop-dist/target/hadoop-2.7.4/lib/native
算了不写废话,直接上脚本,我表示可以成功执行
#!/bin/bash # 免责声明: blablabla......
# 需要安装的依赖
# NOTE: 非yum安装的一律安装到目录/usr/local
# cmake 2.6
# zlib-devel
# openssl-devel
# JDK1.+
# maven 3.0 or later
# findbugs 1.3.
# protocolBuffer 2.5. # . 安装jdk
# 关于java的安装和环境变量配置前面已经有脚本了
java -version && echo "java安装成功"
java -version || echo "java未安装或者安装失败" # . 依赖安装
yum -y install svn ncurses-devel gcc*
yum -y install lzo-devel zlib-devel autoconf automake libtool cmake openssl-devel source /etc/profile # . 安装maven 3.3.
maven -version && echo "maven安装成功"
maven -version || echo "maven未安装或者安装失败"
mvn -version > /dev/null
if [ $? -ne ]; then
maven_bin=/root/packages/apache-maven-3.3.-bin.tar.gz # 软件下载的地址
# 判断文件是否已经已经存在
if [ ! -f $maven_bin ]; then
curl http://mirror.bit.edu.cn/apache//maven/maven-3/3.3.9/binaries/apache-maven-3.3.9-bin.tar.gz -o \
$maven_bin --progress
fi tar zxf $maven_bin -C /usr/local/ # 解压到指定的目录
unfoldName=`tar tf $maven_bin | head -n ` # 获取解压之后的文件夹名称
unfoldName=${unfoldName%%/*} # 去掉最后的目录分隔符/
maven_home=/usr/local/$unfoldName # 获取home目录 # 先删除/etc/profile中已有的配置
sed -i '/MAVEN_HOME/d' /etc/profile
sed -i '/MAVEN_OPTS/d' /etc/profile
# 写入/etc/profile
echo "MAVEN_HOME=$maven_home" >> /etc/profile
echo 'MAVEN_OPTS="-Xms256m -Xmx512m"' >> /etc/profile
echo 'PATH=$PATH:$MAVEN_HOME/bin' >> /etc/profile
echo 'export MAVEN_HOME MAVEN_OPTS PATH' >> /etc/profile
source /etc/profile
mvn -version && echo "maven 3.3.9安装成功" || exit 1
fi source /etc/profile
protoc --version && echo "protoc安装成功"
protoc --version || echo "protoc未安装或者安装失败"
protoc --version > /dev/null
if [ $? -ne 0 ]; then
rm -rf /usr/local/protobuf-2.5.0
protobuf=/root/packages/protobuf-2.5.0.tar.gz
if [ ! -f $protobuf ]; then
# 我擦, curl下载https会出问题
wget -O $protobuf https://github.com/google/protobuf/releases/download/v2.5.0/protobuf-2.5.0.tar.gz
fi
protobuf_unfold=`tar tf /root/packages/protobuf-2.5.0.tar.gz | head -n 1`
protobuf_unfold=${protobuf_unfold%%/*}
rm -rf /root/packages/protobuf-2.5.0
tar zxf $protobuf -C /root/packages/
/root/packages/$protobuf_unfold/configure --prefix=/usr/local/$protobuf_unfold
cd /root/packages/$protobuf_unfold
make && make install
sed -i '/PROTOBUF_HOME/d' /etc/profile
protobuf_home=/usr/local/$protobuf_unfold
echo "PROTOBUF_HOME=$protobuf_home" >> /etc/profile
echo 'PATH=$PROTOBUF_HOME/bin:$PATH' >> /etc/profile
echo 'export PROTOBUF_HOME PATH' >> /etc/profile
source /etc/profile
protoc --version && echo "protobuf 2.5.0 安装成功" || exit 1
else
protoc --version | echo
fi findbugs -version > /dev/null if [ $? -ne 0 ]; then
findbugs_bin=/root/packages/findbugs-1.3.9.tar.gz
if [ ! -f $findbugs_bin ]; then
wget -O $findbugs_bin https://nchc.dl.sourceforge.net/project/findbugs/findbugs/1.3.9/findbugs-1.3.9.tar.gz
fi
findbugs_unfold=`tar tf $findbugs_bin | head -n 1`
findbugs_unfold=${findbugs_unfold%%/*}
tar zxf $findbugs_bin -C /usr/local/
findbugs_home=/usr/local/$findbugs_unfold
sed -i '/FINDBUGS_HOME/d' /etc/profile
echo "FINDBUGS_HOME=$findbugs_home" >> /etc/profile
echo 'PATH=$PATH:$FINDBUGS_HOME/bin' >> /etc/profile
echo 'export FINDBUGS PATH' >> /etc/profile
source /etc/profile
findbugs -version && echo "findbugs 3.0.1 安装成功" || echo "findbugs 3.0.1 安装失败"
else
findbugs -version | echo
fi source /etc/profile
hadoop_source=/root/packages/hadoop-2.7.4-src.tar.gz
ls $hadoop_source > /dev/null if [ $? -ne 0 ]; then
wget -O $hadoop_source http://mirror.bit.edu.cn/apache/hadoop/common/hadoop-2.7.4/hadoop-2.7.4-src.tar.gz
fi
hadoop_source_unfold=`tar tf $hadoop_source | head -n 1`
hadoop_source_unfold=${hadoop_source_unfold%%/*}
tar zxf $hadoop_source -C /root/packages/
cd /root/packages/$hadoop_source_unfold
mvn package -Pdist,native -DskipTests -Dtar
最后可以成功编译
然后用32位的so去替换官方的64位的,就不会有警告了

look, 是不是没有报错了

脚本真的是方便呢,是不是要去学一下python。。~o( =∩ω∩= )m。
WARN util.NativeCodeLoader: Unable to load native-hadoop l... using builtin-java classes where applicable(附编译脚本)的更多相关文章
- WARN util.NativeCodeLoader: Unable to load native-hadooplibrary for your platform… using builtin-java classes where applicable
方法1glibc 官方要求的2.14版本以上 方法2:http://www.secdoctor.com/html/yyjs/31101.html 方法3: http://dl.bintray.com/ ...
- [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 ...
- 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 ...
- 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- ...
- 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 ...
- Hadoop安装—— WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platf
今天在安装hadoop完成测试创建用户目录失败在网上找到了原因记录一下原文地址 http://blog.csdn.net/l1028386804/article/details/51538611 配置 ...
- Hadoop问题解决:WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
在配置好hadoop的环境之后,命令启动./start-all.sh发现经常出现这样的一个警告: WARN util.NativeCodeLoader: Unable to load native-h ...
- 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 ...
- Hadoop _ 疑难杂症 解决1 - WARN util.NativeCodeLoader: Unable to load native-hadoop library for your plat
最近博主在进行Hive测试 压缩解压缩的时候 遇到了这个问题, 该问题也常出现在日常 hdfs 指令中, 在启动服务 与 hdfs dfs 执行指令的时候 : 都会显示该提示,下面描述下该问题应该如何 ...
- Hadoop - 彻底解决警告:WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform...
目录 1 - 在日志配置文件中忽略警告 - 有效 2 - 指定本地库的路径 - 无效 3 - 不使用 Hadoop 本地库 - 无效 4 - 替换 Hadoop 本地库 - 有效 5 - 根据源码,编 ...
随机推荐
- Serializable在C#中的作用及其优点
原文发布时间为:2009-10-27 -- 来源于本人的百度文章 [由搬家工具导入] Serializalbe - Enable the object can be Serialized into a ...
- c#.net前台调用JS文件中的函数[.net与JavaScript的应用]
原文发布时间为:2008-10-10 -- 来源于本人的百度文章 [由搬家工具导入] <%@ Page Language="C#" AutoEventWireup=" ...
- AVRStudio 6 添加调试功能
下载这个文件并安装就可以了:http://avr-jungo-usb.software.informer.com/download/ 具体可以看这个贴子:http://electronics.stac ...
- [LeetCode] Rotate List 单项链表旋转
Given a list, rotate the list to the right by k places, where k is non-negative. For example:Given 1 ...
- NIO、AIO学习历程
今天我们以一个常见的面试题作为开始:"谈谈你对IO与NIO的理解".要回答这个问题,我们首先我要了解几个概念: NIO 同步+非阻塞 IO(BIO) 同步+阻塞 AIO 异步+非阻 ...
- hdu 4956(思路题)
Poor Hanamichi Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)To ...
- 链表ADT的实现
list.h文件 /*链表的类型声明*/ typedef int ElementType; /* START: fig3_6.txt */ #ifndef _List_H #define _List_ ...
- AC日记——黑魔法师之门 codevs 1995
1995 黑魔法师之门 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题解 查看运行结果 题目描述 Description 经过了16个工作日的紧张 ...
- Java I/O系统学习系列一:File和RandomAccessFile
I/O系统即输入/输出系统,对于一门程序语言来说,创建一个好的输入/输出系统并非易事.因为不仅存在各种I/O源端和想要与之通信的接收端(文件.控制台.网络链接等),而且还需要支持多种不同方式的通信(顺 ...
- 关于 OGRE 与 OSG 的简单比较 (转)
关于 OGRE 与 OSG 的简单比较 1 前言 我曾经细致阅读过 OGRE 和 OSG 官方提供的文档,有<Pro OGRE 3D Programming>.OGRE自带手册(man ...