|
1.1 准备学习环境' C8 r5 U) K' z. r6 x
对于大部分公司而言, 实验和生产环境中的服务器集群部署的是Linux操作系统, 考虑到Linux在服务器市场中具有统治地
& f! m% S, T& {! }位, Hadoop从一开始便是基于Linux操作系统开发的, 因而对Linux有非常完美的支持。 尽管Hadoop采用了具有跨平台特性的Java& T+ y2 [( Y: ~& ]5 @
作为主要编程语言, 但由于它的一些功能实现用到了Linux操作系统相关的技术, 因而对其他平台支持不够友好, 且没有进行过: P7 Z$ J, ?- j8 H2 w L U
严格测试。 换句话说, 其他操作系统( 如Windows) 仅可 作为开发环境 [1] , 不可作为生产环境。 对于学习源代码而言, 操作系* l. B" G1 r+ y1 \7 r @
统的选择显得不是非常重要, 读者可根据个人爱好自行决定。 本节以64bit Linux为例, 介绍如何在单机上准备Hadoop源代码学习
: N. J G5 U4 S环境。
6 A6 Q& Y: P0 _3 |4 w1.1.1 基础软件下载6 W; u. Z6 u, Y, M
前面提到Hadoop采用的开发语言主要是Java, 因而搭建Hadoop环境所需的最基础软件首先应该包括Java基础开发包JDK和
$ U# l% M: Q, F' M# CJava项目管理工具Maven, 考虑到源代码阅读和调试的便利性, 本书采用功能强大的集成开发环境Eclipse。 搭建Hadoop阅读环境
. X* P: e$ s# Y' @1 i! |需要的各种软件以及下载方式如表1-1所示。
5 d* k/ k, B& d- w8 F; m表1-1 搭建Hadoop阅读环境所需的软件
, V* P2 U) |& j+ }' x) U- qGalileo以上版本: 注意, Indigo及以上版本与Hadoop Eclipse插件可能存在兼容问题。
/ X- M2 @9 ?& V& ~: P# r. S* u1.1.2 如何准备Linux环境
* R% D# o+ ?! G, u+ Y" ?2 C本节主要介绍如何准备Linux下Hadoop学习环境。 搭建Linux学习环境需要安装JDK和Eclipse等软件。 为了方便1.6节介绍
! K9 Z s( H# E4 n0 NHadoop源代码编译方法, 本节顺便安装Hadoop项目管理工具Maven。 本文以64bit Ubuntu为例, 介绍安装这些软件的方法, 最终安
3 ^3 f0 }& [' I5 p1 O装完成的目录结构为:
3 [+ P5 W# g, F( t3 eROOT! g9 |5 M% b" n: I5 C
├─home5 C* Z* z# A# ?2 t% J
│ └─dong6 y9 |: x; \% _
│ └─eclipse
( g+ C& T$ ^; d1 q8 W- g6 w+ F1 R* d└─
" I0 \, S4 T# y" K( d! d* _usr
2 j% X! _/ [5 R6 s3 l└─0 |0 {4 g1 w( E' Y4 f. s
lib
! _+ L; R& @9 a" Y├─apache-maven-3.0.5" m! h5 p# ?$ S- ?- E5 c
└─
, ^* u% D1 a9 [1 \jvm( r2 o+ m; b( u1 W
└─) x' Q: Z9 v) p/ C! r/ I
jdk1.6.0_25( i- p, i4 y- n9 `5 a- [4 ~' w2 b
1.JDK安装与配置$ Z4 p, }# ?5 y$ z2 J( w
一般而言, Ubuntu系统会自带JDK, 如果没有或者版本不合要求, 可按以下步骤进行安装。
& v+ Y* b. L3 }; Y步骤1 安装JDK。' `2 a9 I5 a' C4 m9 ?
将下载的.bin文件复制到Linux的某个目录下, 比如/usr/lib/jvm/, 然后在Shell中执行以下命令为该文件添加可执行权限:+ f, B4 v8 ] ?
chmod +x /usr/lib/jvm/jdk1.6.0_25.bin6 E' I/ \( C* A% e- N+ a1 z0 R
然后执行以下命令安装JDK:: t4 T4 C, c0 V1 i, v j
sudo /usr/lib/jvm/jdk1.6.0_25.bin
# d: o. T$ V; I( v* b1 E- i之后将会出现安装信息, 直至屏幕显示要求按下回车键, 此时输入回车键后, 会把JDK解压到文件夹jdk1.6.0_25中。 至2 Z$ O8 B9 J$ v7 D8 P3 S3 t8 r
此, JDK已安装完毕, 下面进行配置。/ l. N# ?; v& b' q8 F
步骤2 配置JDK。
2 ?* s, J: Y4 P/ j9 `修改/etc/profile文件, 在里面添加以下内容:
/ M* B0 A7 x* |& c% w. wexport JAVA_HOME=/usr/lib/jvm/jdk1.6.0_25: ?+ Q Z V' i# I. `
export PATH=$PATH JAVA_HOME/bin3 p I4 E Q% K/ L# u
export CLASSPATH=$CLASSPATH JAVA_HOME/lib JAVA_HOME/jre/lib
, j* Q( C: g0 T输入以下命令使配置生效:
5 H" K1 h: ]3 l% U6 E9 b7 Usource /etc/profile" C0 y8 u3 Y( W r, s. Z6 ~- P2 F* o
步骤3 修改默认JDK版本。6 w/ ^- E' K# }$ m; [/ |
Ubuntu中可能会有默认的JDK, 如openjdk, 因而我们需要将自己安装的JDK设置为默认JDK版本, 执行下面的代码:
+ N1 U5 S5 Z- U2 E) H7 Asudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk1.6.0_25/bin/java 300
/ g, _) e$ P9 D9 g8 Fsudo update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/jdk1.6.0_25/bin/javac 300: ?, ^; O% ?1 r& O
sudo update-alternatives --install /usr/bin/jar jar /usr/lib/jvm/jdk1.6.0_25/bin/jar 300
* j; c/ N; K& m k6 i9 @ Y; \sudo update-alternatives --install /usr/bin/javah javah /usr/lib/jvm jdk1.6.0_25/bin/javah 300
& k' V/ v8 o. E6 d1 j6 lsudo update-alternatives --install /usr/bin/javap javap /usr/lib/jvm/jdk1.6.0_25/bin/javap 300- I# s8 K# o1 B$ z ^% ~: y- p- E+ v
然后执行以下代码选择我们安装的JDK版本:7 b, E. P& `( j
sudo update-alternatives --config java/ P' Z: B/ e" B+ W; I$ s
步骤4 验证JDK是否安装成功。
- G$ N& D7 N/ x- e9 a- h& I( N重启Shell终端, 执行java -version命令, 若输出以下内容, 则说明安装成功:9 a7 N r0 q7 I+ i1 o& G I
java version "1.6.0_25"
+ h- }* i) _0 nJava(TM) SE Runtime Environment (build 1.6.0_25-b06)
3 L3 q L+ y, q3 |8 i. ]( W) hJava HotSpot(TM) Client VM (build 20.0-b11, mixed mode, sharing)7 T2 h. k. I" |
2.安装、 配置Maven及Eclipse
& T; ]2 x7 j1 h+ b1 h下面介绍Maven和Eclipse的安装、 配置方法。) B7 [' T( B) o i: T" S# n
( 1) 安装与配置Maven& S# t( Q, o. D9 \- e8 ]4 V3 {
首先解压下载包, 比如解压到文件/usr/lib/apache-maven-3.0.5目录下, 然后修改/etc/profile文件, 在里面添加以下内容:: D) G3 Q4 X8 z& u* O$ L/ f4 p/ L- K
export MAVEN_HOME=/usr/lib/apache-maven-3.0.5
, \+ x8 c$ e! mexport PATH=$PATH$ ANT_HOME/bin" A# Q( e( ~' {. {$ V) @5 H
输入以下命令使配置生效:3 H3 T6 C- [) H. u
source /etc/profile) m" E, L+ y: V% o. ]
同Windows下的验证方式一样, 重启终端, 执行mvn --version命令, 若输出以下内容, 则说明安装成功:% Y' {: k) @! m
Apache Maven version 3.0.5 compiled on June 27 2008$ I6 b, k+ j9 n ?4 r
( 2) 安装Eclipse2 W7 s5 M7 }- V8 [& B$ @4 P
同Windows环境下安装方式一样, 直接解压即可使用。% o. v9 X9 s! b- h4 ~
[1] 截至本书结稿时, Apache Hadoop SVN中已经出现了针对Windows操作系统的分支, 具体见http://svn.
; h" w, j" k3 g, \% Z6 h0 wapache.org/repos/asf/hadoop/common/branches/下的branch-1-win和branch-trunk-win, 且Hortonworks公司发布了Windows安装版本, 具体 H- J( x1 t3 L4 ^3 B
见 http://hortonworks.com/partners/microsoft/。 / h# D1 H3 {5 ]: @8 _5 N. E
9 h% V2 |5 B" L
|
|