一、环境
操作系统:centos 6.3 64bits
Hadoop版本:1.0.4
本文假设Hadoop的安装目录为,Java的安装目录为
二、编译:
在目录下,执行ant compile-c++-libhdfs -Dislibhdfs=true
三、配置
主要解决g++ 寻找头文件和动态链接库的问题。
1、头文件
libhdfs的头文件hdfs.h在目录/src/c++/libhdfs下,因此需要告知头文件路径。
由于libhdfs是基于JNI的,所以Java的头文件也要告知g++,分别为/include 和/include/linux。
2、动态链接库
Java的动态链接库在/jre/lib/amd64/server,编译时需要加-ljvm;
hdfs的动态链接库在/c++/Linux-amd64-64/lib/,编译时需要加-lhdfs
3、设置必要的环境变量
sudo vim /etc/profile,加入下列内容
# JAVA
export JAVA_HOME=/usr/lib/java/jdk1.7.0_40
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=$PATH:${JAVA_HOME}/bin
# HADOOP HDFS CPLUS
export HADOOP_DIR=