|
-----------hadoop编译
1、编译环境
CentOS6.5 64位
jdk1.7.0_71
maven-3.2.3
hadoop2.4.1
2、安装JDK,maven
略
3、安装protoc
在hadoop2.X版本的编译时,需要protoc的支持,hadoop2.4.1需要protoc2.5.0,protoc是google开发的,需要自已下载并安装。安装protoc需要先安装几个依赖包,root用户执行以下命令即可:
yum install gcc
yum install gcc-c++
yum install make
安装protoc,如下:
tar -xvf protobuf-2.5.0.tar.bz2
cd protobuf-2.5.0
./configure --prefix=/opt/protoc/
make && make install
4、配置环境变量
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
| #--------------------------------
#protobuf relate
#---------------------------------
export PATH=/home/ocdc/source/protobuf-2.5.0/src:$PATH
#--------------------------------
#Java related
#---------------------------------
export JAVA_HOME=/home/ocdc/bin/jdk1.7.0_71
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
#--------------------------------
# Maven related
#-------------------------------
export M2_HOME=/home/ocdc/bin/apache-maven-3.2.3
export PATH=$M2_HOME/bin:$PATH
#--------------------------------
# Scala related
#-------------------------------
export SCALA_HOME=/home/ocdc/bin/scala-2.10.4
export PATH=$SCALA_HOME/bin:$PATH
|
5、安装cmake,openssl-devel,ncurses-devel
yum install cmake
yum install openssl-devel
yum install ncurses-devel
6、maven编译
mvn package -Pdist,native -DskipTests -Dtar
7、编译结果
-----------hive编译
hive的编译就简单到没话可说了,唯一需要注意的就是,在编译hive的时候,需要选择hadoop的版本如下所示:
选择hadoop1的版本执行:
1
| mvn clean package -Phadoop-1 -Pdist -DskipTests -Dtar
|
选择hadoop2的版本执行:
1
| mvn clean package -Phadoop-2 -Pdist -DskipTests -Dtar
|
PS:由于中央仓库下载依赖不稳定,如果无法下载依赖,重新编译命令即可,因此最好配置maven私服(推荐nexux很好用,网上资料也很多)。为避免out of memory的错误,建议在编译时临时增大JVM内存,如下
1
| export MAVEN_OPTS="-Xmx2g -XX:MaxPermSize=512M -XX:ReservedCodeCacheSize=512m"
|
spark1.1.1编译:
1
| mvn clean package -Pyarn -Phadoop-2.4 -Pspark-ganglia-lgpl -Pkinesis-asl -Phive -DskipTests -Dtar
|
|
|
|