|
1.1 准备学习环境
" V3 o; d3 z+ {6 A" b4 P对于大部分公司而言, 实验和生产环境中的服务器集群部署的是Linux操作系统, 考虑到Linux在服务器市场中具有统治地
1 e/ R8 D1 C) Q" b位, Hadoop从一开始便是基于Linux操作系统开发的, 因而对Linux有非常完美的支持。 尽管Hadoop采用了具有跨平台特性的Java
9 u) l# N4 n, Z/ y* H作为主要编程语言, 但由于它的一些功能实现用到了Linux操作系统相关的技术, 因而对其他平台支持不够友好, 且没有进行过$ U3 G6 F1 o" c2 r
严格测试。 换句话说, 其他操作系统( 如Windows) 仅可 作为开发环境 [1] , 不可作为生产环境。 对于学习源代码而言, 操作系$ w5 }/ g. t, |% v3 i" g
统的选择显得不是非常重要, 读者可根据个人爱好自行决定。 本节以64bit Linux为例, 介绍如何在单机上准备Hadoop源代码学习
& t+ y0 |; g; v/ l8 K! w环境。* V7 o% _- n/ a: G
1.1.1 基础软件下载
& i- B z" p( D3 \7 ]0 y$ R, c3 V前面提到Hadoop采用的开发语言主要是Java, 因而搭建Hadoop环境所需的最基础软件首先应该包括Java基础开发包JDK和' N# g6 ]3 ^% O, ~6 Q- B
Java项目管理工具Maven, 考虑到源代码阅读和调试的便利性, 本书采用功能强大的集成开发环境Eclipse。 搭建Hadoop阅读环境
$ c9 p8 E3 w. e0 R: n2 K! ?需要的各种软件以及下载方式如表1-1所示。
7 C z& Y- g5 F8 _表1-1 搭建Hadoop阅读环境所需的软件
# ?( D2 F4 {5 J" }Galileo以上版本: 注意, Indigo及以上版本与Hadoop Eclipse插件可能存在兼容问题。6 E: ~+ q1 r D7 P: L. i
1.1.2 如何准备Linux环境1 s. X3 [2 S0 U
本节主要介绍如何准备Linux下Hadoop学习环境。 搭建Linux学习环境需要安装JDK和Eclipse等软件。 为了方便1.6节介绍
, {/ N) y& W, s* z! E& S( _Hadoop源代码编译方法, 本节顺便安装Hadoop项目管理工具Maven。 本文以64bit Ubuntu为例, 介绍安装这些软件的方法, 最终安' }* l0 F2 n% m/ S4 i9 R
装完成的目录结构为:
+ ?* a1 y. h% AROOT
) E7 t* d# o- k* B, A$ m, B├─home
' ]; p3 A6 R! X* l3 ^) h* W│ └─dong; U4 i8 J- S/ ~0 t& ~
│ └─eclipse
9 z' ^; k9 N& K Z: n└─
; \. k, Z& s; H* `6 U8 }( }" fusr
7 V" o2 w8 E7 N% c5 |* o4 }/ u└─% O9 f; [- p7 {# a, B
lib
; l; e: G. d9 K├─apache-maven-3.0.5
4 n& u' p9 P6 r5 v P# w* t* Z└─
* J) }. e5 F3 R, m* x9 o5 fjvm; Y' `* Z2 x* n- B0 D2 k d
└─
& W" u& }8 }3 P* y8 {jdk1.6.0_25
+ A7 D8 y1 L; h1.JDK安装与配置
_- `9 _7 P* H4 r一般而言, Ubuntu系统会自带JDK, 如果没有或者版本不合要求, 可按以下步骤进行安装。
0 D o- z+ E. f4 A& g步骤1 安装JDK。& J" r& n B/ d$ f% Y5 D% U _0 b
将下载的.bin文件复制到Linux的某个目录下, 比如/usr/lib/jvm/, 然后在Shell中执行以下命令为该文件添加可执行权限:
: X9 e0 x2 w/ B9 N, Q- r3 h2 Fchmod +x /usr/lib/jvm/jdk1.6.0_25.bin' Y0 ~ ?6 _( _4 v) ~
然后执行以下命令安装JDK:- Y' V$ C* g6 ^ d, G
sudo /usr/lib/jvm/jdk1.6.0_25.bin' @; e/ t$ s) A' O7 r
之后将会出现安装信息, 直至屏幕显示要求按下回车键, 此时输入回车键后, 会把JDK解压到文件夹jdk1.6.0_25中。 至7 f2 C2 O5 L" Q$ V; Y
此, JDK已安装完毕, 下面进行配置。
0 U3 n2 S" Z- A3 ]% x步骤2 配置JDK。/ i- a, _9 \1 U' V- y" J6 N! t
修改/etc/profile文件, 在里面添加以下内容:
! j' M+ W7 D1 B) C2 p$ Mexport JAVA_HOME=/usr/lib/jvm/jdk1.6.0_25
" h, R" i* p3 g4 Jexport PATH=$PATH JAVA_HOME/bin
* Z& ^4 w: V( J+ o" Cexport CLASSPATH=$CLASSPATH JAVA_HOME/lib JAVA_HOME/jre/lib
5 M. w5 b. I! @输入以下命令使配置生效:% q/ s2 g% R/ r/ [
source /etc/profile! m4 `4 |1 D) Z' l& b
步骤3 修改默认JDK版本。
4 t% j: s1 H1 S" rUbuntu中可能会有默认的JDK, 如openjdk, 因而我们需要将自己安装的JDK设置为默认JDK版本, 执行下面的代码:
4 V% h5 f7 L+ Xsudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk1.6.0_25/bin/java 300
/ N9 a- U( ~6 `* ~sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/jdk1.6.0_25/bin/javac 300
- q8 O+ U+ A5 l$ I7 x0 d, h$ bsudo update-alternatives --install /usr/bin/jar jar /usr/lib/jvm/jdk1.6.0_25/bin/jar 300" b! {8 b0 w+ X5 ^
sudo update-alternatives --install /usr/bin/javah javah /usr/lib/jvm jdk1.6.0_25/bin/javah 300! F' ^6 X5 J4 U
sudo update-alternatives --install /usr/bin/javap javap /usr/lib/jvm/jdk1.6.0_25/bin/javap 3002 f1 C# ^: H! g5 z7 z
然后执行以下代码选择我们安装的JDK版本:
3 S- K6 M# R: @, s3 x9 [sudo update-alternatives --config java
4 g1 E* B( y% l! _3 q. f5 c步骤4 验证JDK是否安装成功。
+ k9 h2 q0 s$ H, e. b3 R7 \重启Shell终端, 执行java -version命令, 若输出以下内容, 则说明安装成功:
6 H$ i/ I4 T0 [& d$ ?8 [+ l0 P4 Ajava version "1.6.0_25"
, G# F) i y- [: sJava(TM) SE Runtime Environment (build 1.6.0_25-b06)" n( v( u& `; y. r& X+ l
Java HotSpot(TM) Client VM (build 20.0-b11, mixed mode, sharing)1 M; {9 M& G# g1 \9 ^
2.安装、 配置Maven及Eclipse
. ]( D( N- E& W& j% q7 I6 X- j2 p: w下面介绍Maven和Eclipse的安装、 配置方法。
6 ^( S% u& n/ h" n" b* d+ V( 1) 安装与配置Maven
6 f* P$ k; H% M3 x首先解压下载包, 比如解压到文件/usr/lib/apache-maven-3.0.5目录下, 然后修改/etc/profile文件, 在里面添加以下内容:- f7 C$ L9 E5 t* v; e( v8 [$ P
export MAVEN_HOME=/usr/lib/apache-maven-3.0.5! I. i( ^5 ~! T$ C
export PATH=$PATH$ ANT_HOME/bin
" C6 C$ Y2 d1 d5 P- A输入以下命令使配置生效:
5 w; N+ Y7 M9 ^' ?. Xsource /etc/profile. ]- G+ D9 \! M# }' @/ v+ E- L
同Windows下的验证方式一样, 重启终端, 执行mvn --version命令, 若输出以下内容, 则说明安装成功:. \9 ]7 r b* b$ Q( P' {
Apache Maven version 3.0.5 compiled on June 27 2008
+ u- w' k+ e3 w. x$ C9 P( 2) 安装Eclipse( h; o3 C4 T1 f" d d8 N2 I
同Windows环境下安装方式一样, 直接解压即可使用。
7 w0 ?' ~! [) C" x0 ?[1] 截至本书结稿时, Apache Hadoop SVN中已经出现了针对Windows操作系统的分支, 具体见http://svn.! O% E- a# o5 g# s, B, O
apache.org/repos/asf/hadoop/common/branches/下的branch-1-win和branch-trunk-win, 且Hortonworks公司发布了Windows安装版本, 具体1 u+ R1 K# m" D' p
见 http://hortonworks.com/partners/microsoft/。
5 p1 o/ ?* H3 M( r/ \2 d
5 f2 \) }1 ?% U, Y0 U |
|