mac OS X Yosemite 上编译hadoop 2.6.0/2.7.0及TEZ 0.5.2/0.7.0 注意事项
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 </settings>
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,把官网地址直接指镜像地址。
具体可参考回复中3楼低调小门徒的做法:
vim /etc/hosts 42.120.63.172 registry.npmjs.org npmjs.org nodejs.org
附:tez0.7.0的下载地址 http://apache.dataguru.cn/tez/0.7.0/
编译命令:mvn clean package -DskipTests=true -Dmaven.javadoc.skip=true
官方编译指南:http://tez.apache.org/install.html
最后给几篇关于TEZ的介绍文章:
http://docs.hortonworks.com/HDPDocuments/HDP2/HDP-2.1.2/bk_installing_manually_book/content/rpm-chap-tez.html
http://dongxicheng.org/mapreduce-nextgen/apache-tez-optimizations/
http://hortonworks.com/hadoop/tez/
http://hortonworks.com/hadoop-tutorial/supercharging-interactive-queries-hive-tez/
- XmlWriter/XmlReader示例代码
- Silverlight Telerik控件学习:RadComboBox之自动完成(AutoComplete)
- Silverlight Telerik控件学习:数据录入、数据验证
- AI与自动驾驶
- python多线程学习笔记(超详细)
- Silverlight Telerik控件学习:RadTransitionControl
- Silverlight Telerik控件学习:弹出窗口RadWindow
- Andrew Ng机器学习课程笔记--week6(精度&召回率)
- Andrew Ng机器学习课程笔记--week5(下)
- silverlight: "[HtmlPage_NotEnabled] 调试资料字符串不可用"的解决
- Andrew Ng机器学习课程笔记--week5(上)
- Silverlight Telerik控件学习:带CheckBox复选框的树形TreeView控件
- Andrew Ng机器学习课程笔记--week4(神经网络)
- javascript:FF/Chrome 与 IE 动态加载元素的区别
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- java 版DES和MAC算法
- 前端|手风琴--抽屉式网页特效
- python 版DES和MAC算法
- ANSI-X99MAC算法和PBOC的3DES MAC算法
- 数据分析(EDA)学习总结!
- web.py 0.3 新手指南
- 详解一道字节跳动的二面题目,它太经典了!
- 使用R语言进行时间序列(arima,指数平滑)分析
- 用python多线程抓取网站图片,速度极快
- 偏最小二乘回归(PLSR)和主成分回归(PCR)
- R语言使用特征工程泰坦尼克号数据分析应用案例
- Rust FFI 编程 - Rust导出共享库04
- 使用结构化的标头字段改善HTTP
- c语言直接读写ini配置文件
- Rust FFI 编程 - Rust导出共享库03