Ubuntu12.04编译hadoop2.6.0源码与源码导入windows下的Eclipse查看方法

来源:互联网 发布:unity3d 鼠标点击移动 编辑:程序博客网 时间:2024/04/27 22:55

百度谷歌了很多关于编译hadoop2.6.0的文章,没有一篇让我能顺利通过编译的。于是自己摸索,编译成功,现将编译过程和将源码导入Eclipse方法公布如下。

一、Ubuntu12.04 编译Hadoop2.6.0源码

1、编译环境

Ubuntu Server 12.04 precise 64bit

JDK 1.7.0_67

protoc 2.5.0(貌似必须是该版本及其以上版本,否则会报错)

maven 3.0.4

2、安装环境

1)安装jdk

下载

sudo apt-get -o Dpkg::Options::=--force-confdef -o Dpkg::Options::=--force-confold -y install oracle-j2sdk1.7
配置环境

打开配置文件

vim /etc/profile
增加配置文件如下:
export JAVA_HOME=/usr/lib/jvm/java-7-oracle-clouderaexport CLASSPATH=.:JAVA_HOME/lib:$JAVA_HOME/jre/lib:$CLASSPATHexport PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
退出并保存,执行下面命令使修改生效

source /etc/profile

将系统默认的jdk修改过来
update-alternatives --install /usr/bin/java java /usr/lib/jvm/java-7-oracle-cloudera/bin/java 300update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/java-7-oracle-cloudera/bin/javac 300sudo update-alternatives  --config javasudo update-alternatives  --config javac
检测配置是否生效
java -version

2)安装maven

sudo apt-get install maven  mvn --version
显示如下图则成功

3)安装ssh

sudo apt-get install openssh-server
设置root下无密码登陆
ssh-keygen -t rsa -P ''ssh-copy-id -i /root/.ssh/id_rsa.pub 用户名@域名
4)安装protoc

不能直接通过apt-get安装,版本太低,会报错。在https://github.com/google/protobuf中下载压缩包。

tar -zxf protobuf-2.5.0.tar.gz
假如你希望编译成功后输出的目录为/root/protobuf/ 则输入如下两条命令:
./configure --prefix=/root/protobuf/  make && make install

编译成功后进入/etc/profile中添加bin路径到PATH中

export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:/root/protobuf/bin:$PATH
检测配置是否完成
protoc --version

5)安装依赖库

sudo apt-get install g++ autoconf automake libtool cmake zlib1g-dev pkg-config libssl-dev
6)编译hadoop2.6.0源代码

进入到hadoop源码包根目录,执行下面命令

 mvn clean package -Pdist,native -DskipTests -Dtar

成功会显示BUILD SUCCESS,编译好的代码在源代码根目录下的/hadoop-dist/target中。

二、hadoop2.6.0源代码导入Eclipse

1)安装mvn所需插件

 cd /hadoop-2.6.0-src/hadoop-maven-plugins mvn install
2)生成eclispe结构
cd /hadoop-2.6.0-srcmvn eclipse:eclipse -DskipTests

3)完成后将整个文件夹打包压缩通过WinSCP上传到windows路径中解压缩,然后打开Eclipse,[File] > [Import] > [Existing Projects into Workspace],目录选择hadoop-2.6.0-src,工程就全部导入进去了。

4)报错处理

a.很多工程会报错,几乎都是tools不对,解决办法就是删除这个tools,然后在windows中的jdk中找到tools添加进去即可。

b.在hadoop-streaming工程里报错如下


解决办法:右击工程hadoop-streaming,Build Path,Source。删除报错的资源,然后再link到hadoop2.6.0-src源码包中的相同路径下,本例中是

D:\hadoop-2.6.0-src\hadoop-yarn-project\hadoop-yarn\hadoop-yarn-server\hadoop-yarn-server-resourcemanager\conf输出路径要保持和原来相同,修改好的包如下所示:



1 0
原创粉丝点击