mac OS X Yosemite 上编译hadoop 2.6/2.7及TEZ 0.5.2/0.7 注意事项

1、jdk 1.7问题

hadoop 2.7.0必须要求jdk 1.7.0,而oracle官网已经声明,jdk 1.7 以后不准备再提供更新了,所以趁现在还能下载,赶紧去down一个mac版吧

http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html

应该选择mac ox 64位的版本

http://download.oracle.com/otn-pub/java/jdk/7u79-b15/jdk-7u79-macosx-x64.dmg

注:Yosemite上,只能安装jdk 1.7.0_79 这个版本,比它低的jdk 1.7版本已经没法正常安装了。

 

2、yum -install 问题

mac 虽然也是linux内核,但是很多其它linux版本下有用的东西,却被apple阉割掉了,比如apt-get,yum这些都没有,解决办法有二个:

a) 使用Mac Ports代替,官网地址:http://www.macports.org/

还有一篇网友的入门文章:http://www.ccvita.com/434.html

b) 使用HomeBrew,官网地址:http://brew.sh/

使用教程见: http://blog.csdn.net/delphiwcdj/article/details/19679891

 

3、maven 仓库的国内镜象问题

maven仓库的官网站点实在是太慢了,怪不得李总理强烈要求要提网速、降网费,不然实在严重阻碍中国IT事业的发展啊!!!

好在oschina做了件功德无量的好事,在国内搭建了一个镜像,把maven的settings.xml改成下面这样:

技术分享
 1 <?xml version="1.0" encoding="UTF-8"?>
 2 
 3 <settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" 
 4           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
 5           xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
 6 
 7           
 8   <mirrors>
 9     <mirror>
10       <id>nexus</id>
11       <mirrorOf>*</mirrorOf>
12       <url>http://maven.oschina.net/content/groups/public/</url>
13     </mirror>     
14   </mirrors>  
15   
16   <profiles>
17     <profile>
18       <id>nexus</id>
19       <repositories>
20         <repository>
21           <id>nexus</id>
22           <name>Nexus</name>
23           <url>http://maven.oschina.net/content/groups/public/</url>
24           <releases><enabled>true</enabled></releases>
25           <snapshots><enabled>true</enabled></snapshots>
26         </repository>
27       </repositories>
28       <pluginRepositories>
29         <pluginRepository>
30           <id>nexus</id>
31             <name>Nexus</name>
32             <url>http://maven.oschina.net/content/groups/public/</url>
33             <releases><enabled>true</enabled></releases>
34             <snapshots><enabled>true</enabled></snapshots>
35         </pluginRepository>
36       </pluginRepositories>
37     </profile>
38   </profiles>
39   <activeProfiles>
40     <activeProfile>nexus</activeProfile>
41   </activeProfiles>
42               
43 
44  </settings>
View Code

 

4、hadoop 2.6.0 编译过程中,找不到jdk 7下的classes.jar、tools.jar问题

hadoop 2.7的编译,在mac下还算顺利,基本上按 64位centos 下编译 hadoop 2.6.0 源码 的套路来就行了,一次成功。

但是hadoop 2.6就有点二了,编译过程中会报一个错,大意是找到不jdk 7目录下的classes.jar文件,原因是这个文件现在已经更名成rt.jar,放在jre/lib下了。

所以解决办法是:

进入 cd $JAVA_HOME (默认是/Library/Java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/Home/ 这个目录)

sudo mkdir Classes 手动创建这个目录 

cd Classes

sudo cp ../jre/lib/rt.jar classes.jar 手动把rt.jar复制到这个目录下,并改名为classes.jar

sudo cp ../lib/*.jar 为防止其它jar包也找不到,把lib下所有jar包全放进来

再编译hadoop 2.6.0 就ok了

 

5、tez 0.7.0 编译过程中 nodejs 无法下载的问题

TEZ 0.5.2可以一路顺畅的编译,但是0.7.0就没这么好运了,会联到nodejs官网下载很多东西,所以编译ted 0.7.0这个版本,要选网速快的时段,比如月黑风高的夜晚,大家都在梦乡,不跟你抢带宽的时候编译。淘宝君提供了一个国内镜像 http://npm.taobao.org/ ,大家可以修改hosts,把官网地址直接指镜像地址试试。

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。