Maven编译32位Hadoop2.7.1

一、安装jdk7

在网上下载jdk7的包

解压缩jdk7的包

修改环境变量:

nano /etc/profile

在最后加上

#set java environment

export JAVA_HOME=解压目录

export JRE_HOME= ${JAVA_HOME}/jre    

export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib    

export PATH=${JAVA_HOME}/bin:$PATH

source /etc/profile

配置默认JDK:

update-alternatives --install /usr/bin/java java 目录/bin/java 300

update-alternatives --install /usr/bin/javac javac 目录/bin/javac 300

update-alternatives --install /usr/bin/javajavah目录/bin/javah300

update-alternatives --install /usr/bin/jar jar 目录/bin/jar 300


切换默认JDK:

update-alternatives --config java

update-alternatives --config javac

最后测试:

java -version

javac -version


二、安装maven

apt-get install maven

mvn --version


三、安装依赖库

apt-get install g++ autoconf automake libtool cmake zlib1g-dev pkg-config libssl-dev


四、安装openssh

apt-get install openssh-server

五、安装protoc

这里不能apt-get安装,因为安装的是2.6.1版本,而编译要求为2.5.0版本,所以只能从网上下载手动安装,下载地址:

http://f.dataguru.cn/forum.php?mod=attachment&aid=MTU2ODgzfDdmYzYxM2YzfDE0NTAxMDMwMzJ8MHw0NTI5OTE%3D

解压后进入目录

./configure --prefix=/usr/protobuf/

make && make install

之后/etc/profile中加入export PATH=/usr/protobuf/bin:$PATH

protoc --version 显示为2.5.0则成功

六、开始编译:

注意:开始编译前最好先设置maven的镜像地址,因为原地址真的太。。。

nano /etc/share/maven/conf/settings.xml

在<mirrors></mirrors>中加入

<mirror>

<id>UK</id>

<name>UK central</name>

<url>http://uk.maven.org/maven2/</url>

<mirrorOf>central</mirrorOf>

</mirror>

感觉这个镜像还比较靠谱。。。

注意:编译中可能会出现"java.lang.OutOfMemoryError: Java heap space"错误,这错误编译是给JVM分配的Xmx不够,但是在Maven中直接在mvn命令行后指定-Xmx1024m是不起作用的,需要在编译前设置Maven环境参数:

export MAVEN_OPTS='-Xms256m -Xmx1024m'

之后可以开始编译,进入hadoop源码目录hadoop-2.7.1-src

mvn clean

mvn package -Pdist,native -DskipTests=true -Dtar

之后等待编译完成


版权声明:本文为chinens原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。