ubuntu14.04中编译Hadoop2.6.0 64位版本
安装JDK
下载安装包jdk1.8.0_50,解压,改下环境变量和jdk版本即可。(JDK切换版本 文章后面有讲)
安装maven3
1. 下载并解压maven3:http://maven.apache.org/download.cgi
解压到指定目录,如:/usr/local/apache-maven-3.3.9
2. 设置maven环境变量:
编辑~/.bashrc,在末尾添加如下内容:
export M2_HOME=/home/ubuntu/java/apache-maven-3.3.9
PATH=$M2_HOME/bin:$PATH
安装cmake
下载 cmake-3.6.0.tar.gz
(最好使用 apt-get cmake)
在usr/local/bin中解压 sudo tar-zxvf cmake-3.6.0.tar.gz
在里面创建文件夹 mkdir cmake_build
执行文件夹下的bootstrap
sudo ./bootstrap
sudo make
sudo make install
http://blog.csdn.net/fengbingchun/article/details/51159348
安装 protofub2.5
sudo apt-get install protobuf-compiler
protoc --version
或者下载:https://github.com/google/protobuf/releases?after=v3.0.0-alpha-4.1
cd protobuf-2.5.0
./configure
make
make check
make install
编辑~/.bashrc,在末尾添加如下内容:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
安装 ANT
1. 下载并解压ant:http://apache.dataguru.cn//ant/binaries/
apache-ant-1.9.7-bin.tar.gz
解压到指定目录,如:/usr/local/apache-ant-1.9.7
2.编辑~/.bashrc,在末尾添加如下内容:
export ANT_HOME=/usr/local/apache-ant-1.9.7
export PATH=$ANT_HOME/bin:$PATH
在/etc/profile中也添加上述内容
安装findbugs3.0.1
官网下载
~/.bashrc and /etc/profile添加下面环境变量
export FINDBUGS_HOME=/usr/local/findbugs-3.0.1
export PATH=$PATH:$FINDBUGS_HOME/bin
我把工具都安装在/usr/share目录下,Ubuntu系统默认会搜寻该目录下的库文件,无需其他配置就行了。但是如果工具被安装在了/usr/local目录下,Ubuntu是不会自动搜索该目录的库文件的,此时需要配置开发库环境变量:
[plain]view plaincopyprint?
1. export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/local/lib
2. http://blog.csdn.net/idber/article/details/40378231
开始编译,
下载hadoop-2.6.0-src.tar.gz
进入HADOOP源代码目录 hadoop-2.6.0-src,执行:
mvn clean package-Pdist,native -DskipTests -Dtar
需要等很久......
(注意是否是权限问题~!!!)
如果不行,去maven的conf中修改
查看编译完的文件:
cd/usr/local/hadoop-2.6.0-src/hadoop-dist/target/hadoop-2.6.0/lib/native
用如下命令:
file *
显示如下已经编译成功:
libhadoop.a: current ar archive
libhadooppipes.a: current ar archive
libhadoop.so: symbolic link to `libhadoop.so.1.0.0'
libhadoop.so.1.0.0: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV),dynamically linked, not stripped
libhadooputils.a: current ar archive
libhdfs.a: current ar archive
libhdfs.so: symbolic link to`libhdfs.so.0.0.0'
libhdfs.so.0.0.0: ELF 64-bit LSB shared object, x86-64, version 1(SYSV), dynamically linked, not stripped
JDK切换版本
sudo update-alternatives --install/usr/bin/java java /opt/jdk1.7.0_80/bin/java 300
sudo update-alternatives --install/usr/bin/javac javac /opt/jdk1.7.0_80/bin/javac300
sudo update-alternatives --install /usr/bin/jar jar /opt/jdk1.7.0_80/bin/jar 300
sudo update-alternatives --config java
sudo update-alternatives --config javac
编译Tachyon0.63版本(基于hadoop2.6.0)
mvn package -DiskipTests -Dhadoopversion=2.6.0
等好久好久,就行了。