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 - 根据源码,编 ...
随机推荐
- linux下常用的日志分析命令【转】
形如下面这样的access.log日志内容: 211.123.23.133 – - [10/Dec/2010:09:31:17 +0800] “GET /query/trendxml/district ...
- Javascript&Ajax-深入浅出JSONP--解决ajax跨域问题
Javascript&Ajax-深入浅出JSONP--解决ajax跨域问题 原理讲解: 链接地址:http://www.cnblogs.com/chopper/archive/2012/03/ ...
- 《Linux命令行与shell脚本编程大全 第3版》Linux命令行---45
以下为阅读<Linux命令行与shell脚本编程大全 第3版>的读书笔记,为了方便记录,特地与书的内容保持同步,特意做成一节一次随笔,特记录如下:
- arduino ide的串口权限解决
刚刚到手一个Arduino uno R3的板子,windows下arduino IDE的串口正常使用,linux下却出现权限问题,解决方案如下:(以下操作使用超级用户) 1.查看设备所在的组ls -l ...
- linux device tree源代码解析【转】
转自:http://blog.csdn.net/Tommy_wxie/article/details/42806457 //Basedon Linux v3.14 source code Linux设 ...
- Codeforces 906D Power Tower(欧拉函数 + 欧拉公式)
题目链接 Power Tower 题意 给定一个序列,每次给定$l, r$ 求$w_{l}^{w_{l+1}^{w_{l+2}^{...^{w_{r}}}}}$ 对m取模的值 根据这个公式 每次 ...
- BZOJ2748(DP)
非常简单的DP题.类似背包的操作,按照音量改变值进行状态转移即可. #include <bits/stdc++.h> using namespace std; #define REP(i, ...
- codevs——1044 拦截导弹(序列DP)
1999年NOIP全国联赛提高组 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题解 题目描述 Description 某国为了防御敌国的导弹袭击 ...
- spring 基础
作者:Spring太难链接:https://zhuanlan.zhihu.com/p/38131490来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 目录 Spring ...
- Enter Query Mode Search Tricks Using Enter_Query Built-in in Oracle Forms
In this post you will learn how to specify any condition in enter query mode of Oracle Forms. Whenev ...