本文主要介绍了解决异常util.NativeCodeLoader: Unable to load native-hadoop library for your platform
的方法。
配置环境
安装sun官网jdk
由于之前安装的java-1.8为openjdk,因此在编译的时候可能会报错。为了解决该问题,因此需要安装官方的jdk
- 卸载原先安装的java
yum remote java-1.8.0
- 下载JDK 8后安装
在
/etc/profile
中配置环境变量,并使用source /etc/profile
生效1
2
3export JAVA_HOME=/home/hadoop/jdk1.8.0_101
export CLASSPATH=$JAVA_HOME/lib/
export PATH=$PATH:$JAVA_HOME/bin:/usr/bin:/usr/sbin:/bin:/sbin使用命令
yum install java-1.8.0-openjdk-devel
安装devel.下载hadoop源码
1
2tar zxvf hadoop-2.6.5-src.tar.gz
mv hadoop-2.6.5-src /usr/local/hadoop-2.6.5-src/
安装各种库
1 | yum -y install svn ncurses-devel gcc* |
安装maven
1 | tar zxvf apache-maven-3.3.9-bin.tar.gz |
在/etc/profile
中配置环境变量,并使用source /etc/profile
生效1
2
3export MAVEN_HOME=/usr/local/hadoop-2.6.5-src/labc/apache-maven-3.3.9
export MAVEN_OPTS="-Xms256m -Xmx512m"
export PATH=$PATH:$MAVEN_HOME/bin
使用mvn -version
检查是否配置正确。
安装protocolBuffer
1 | tar zxvf protobuf-2.5.0.tar.gz |
使用protoc --version
检查是否配置正确。
安装findbugs
1 | unzip findbugs-1.3.9.zip |
在/etc/profile
中配置环境变量,并使用source /etc/profile
生效1
2export FINDBUGS_HOME=/usr/local/hadoop-2.6.5-src/labc/findbugs-1.3.9
export PATH=$PATH:$FINDBUGS_HOME/bin
使用findbugs -version
检查配置是否正确。
编译源码
1 | cd /usr/local/hadoop-2.6.5-src |
等待编译完成。编译好的文件在/usr/local/hadoop-2.6.5-src/hadoop-dist/target/hadoop-2.6.5.tar.gz
下。
安装
在/etc/profile
中配置环境变量,并使用source /etc/profile
生效。1
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib:$HADOOP_COMMON_LIB_NATIVE_DIR"
已安装情况
若已经完成了hadoop的安装,则将/usr/local/hadoop-2.6.5-src/hadoop-dist/target/hadoop-2.6.5.tar.gz
文件解压后,将其中的lib/native
替换原安装目录下的文件。
未安装情况
若还未安装,则将该tar文件安装即可。Hadoop-2.7.1非分布式/伪分布式/集群安装与配置(CentOS-6.9)。