Apache Hadoop 源代码编译环境搭建

粗略整理的一个步骤。
1. 下载 Apache Hadoop 源码包,解压(放在不需要root权限的路径下,避免因为目录权限不够导致编译错误,或者全程使用root用户)
2. 安装工具链,  参考源码包下的BUILDING说明及apache网站上给出的帮助. 
    hadoop 依赖库protobuf:  https://code.google.com/p/protobuf/
apt-get -y install ant maven build-essential autoconf automake libtool cmake zlib1g-dev pkg-config libssl-dev
安装完毕后执行mvn命令,若提示库错误则执行sudo ldconfig.
3. cd至源码根目录,编译源码
mvn compile -Pnative
4. 编译成功应生成hadoop-maven-plugins 目录,cd进到该目录, 执行mvn install
5. 返回代码根目录执行mvn install
6. 生成Eclipse工程文件
mvn eclipse:eclipse -DskipTests
7. 启动eclipse,工作区选代码根目录,执行File/Import... ,对话框source root选择代码根目录,自动检测到一系列工程,全选导入
   等待Eclipse自动编译结束,会出现很多错误,还需要执行以下步骤
8. 配置 Eclipse M2_REPO 变量
    Window/Preference/Java/Build Path, M2_REPO默认路径为 /home/<usename>/.m2/repository
9. apache hadoop 2.2.0生成的Eclipse工程文件里 hadoop-streaming 有一个source code外部引用路径不正确,手动修正(capacity-scheduler.xml)
 
至此,应该没有任何编译错误了。
IntelliJ Idea通过导入Eclipse工程即可完成配置,导入工程之后会提示未定义的Build Path M2_REPO, 修正之即可.
 
Apache官方的说明:
 
关于CDH 4.3.1(Hadoop 2.0.0)的编译
CDH4.3.1要求Java版本必须是1.6,直接使用java1.7会报java版本不匹配错误。通过修改pom.xml使用java 1.7编译时会出现编译问题。

你可能感兴趣的:(apache)