|
1.1 准备学习环境; O: @% X9 t1 F! D# V
对于大部分公司而言, 实验和生产环境中的服务器集群部署的是Linux操作系统, 考虑到Linux在服务器市场中具有统治地
4 _0 _7 _% x/ `2 ]! D" ~1 b0 `) Y位, Hadoop从一开始便是基于Linux操作系统开发的, 因而对Linux有非常完美的支持。 尽管Hadoop采用了具有跨平台特性的Java) r) }! L. G4 ]
作为主要编程语言, 但由于它的一些功能实现用到了Linux操作系统相关的技术, 因而对其他平台支持不够友好, 且没有进行过
$ s: j' B( A$ S+ w$ l严格测试。 换句话说, 其他操作系统( 如Windows) 仅可 作为开发环境 [1] , 不可作为生产环境。 对于学习源代码而言, 操作系+ ~4 O% ~0 V- c1 V7 z2 f1 f
统的选择显得不是非常重要, 读者可根据个人爱好自行决定。 本节以64bit Linux为例, 介绍如何在单机上准备Hadoop源代码学习. B: }/ L7 N/ c/ J& H9 f: o$ d
环境。( j3 \2 x0 x& a+ g& P
1.1.1 基础软件下载/ n% a' m. q8 h p" ?1 O
前面提到Hadoop采用的开发语言主要是Java, 因而搭建Hadoop环境所需的最基础软件首先应该包括Java基础开发包JDK和
' B) M. s" t" }1 ]6 p9 @' vJava项目管理工具Maven, 考虑到源代码阅读和调试的便利性, 本书采用功能强大的集成开发环境Eclipse。 搭建Hadoop阅读环境# z( J) N i' l, `4 q1 b- ^
需要的各种软件以及下载方式如表1-1所示。
, {2 [# k- W+ W6 G: |' S) _8 q# E表1-1 搭建Hadoop阅读环境所需的软件4 N& S9 O/ D: w
Galileo以上版本: 注意, Indigo及以上版本与Hadoop Eclipse插件可能存在兼容问题。
. c4 ^5 I" p6 [% s6 }# c7 L1.1.2 如何准备Linux环境
7 Z% W$ l% Y& U+ U' n, x本节主要介绍如何准备Linux下Hadoop学习环境。 搭建Linux学习环境需要安装JDK和Eclipse等软件。 为了方便1.6节介绍
) M/ n. \; t% _9 tHadoop源代码编译方法, 本节顺便安装Hadoop项目管理工具Maven。 本文以64bit Ubuntu为例, 介绍安装这些软件的方法, 最终安
7 J) W) `: @9 _1 K! t9 r/ I装完成的目录结构为:
& H3 s7 t; X) R! W1 SROOT
) e! M/ |" N$ z0 M0 y( n* B├─home6 Z- ]4 g4 }( d8 k/ |* D
│ └─dong
j3 y. }& t( l# w }9 a @│ └─eclipse
( J. _$ k7 @% [' W6 a5 j└─
1 q+ ~5 d; j# X- ~. M& J1 _usr% A" X* M# D3 |
└─
: @ d, k: e5 G+ T/ clib
+ @4 N" M! w# l* X├─apache-maven-3.0.5
- P d! v/ m, Y└─
' o7 X: J" Z+ _2 A& v( yjvm
& B4 T: C) {+ C; X1 E* F└─7 ^ o+ j* i/ V1 B! h, `0 y
jdk1.6.0_25
, L7 U+ X$ ^ ]+ Z# O! G1.JDK安装与配置
; ^3 c$ K6 y" t; A' G一般而言, Ubuntu系统会自带JDK, 如果没有或者版本不合要求, 可按以下步骤进行安装。( o( b- ~+ `7 J- E. n! p- \; V
步骤1 安装JDK。% j6 K9 R" P, j9 A$ R/ c
将下载的.bin文件复制到Linux的某个目录下, 比如/usr/lib/jvm/, 然后在Shell中执行以下命令为该文件添加可执行权限:
[% L* v) {$ g: hchmod +x /usr/lib/jvm/jdk1.6.0_25.bin
5 U3 z: b" [* v* A然后执行以下命令安装JDK:
1 ^9 p& w( R- K" ]+ Nsudo /usr/lib/jvm/jdk1.6.0_25.bin M1 q+ y J" b/ I2 l- V
之后将会出现安装信息, 直至屏幕显示要求按下回车键, 此时输入回车键后, 会把JDK解压到文件夹jdk1.6.0_25中。 至8 H+ [1 n6 x0 [- N5 s
此, JDK已安装完毕, 下面进行配置。
6 }) e9 S$ {( b- [" B步骤2 配置JDK。
( e6 g: }& W3 ]( u9 Q) L/ v修改/etc/profile文件, 在里面添加以下内容:
( a6 b( v z) ^: C9 eexport JAVA_HOME=/usr/lib/jvm/jdk1.6.0_25
) a0 L( y( a5 c/ I1 a& Nexport PATH=$PATHJAVA_HOME/bin M4 r: A) v- t: D2 U& ^7 U
export CLASSPATH=$CLASSPATHJAVA_HOME/libJAVA_HOME/jre/lib2 t1 m, `; a& t9 Y: u7 ]
输入以下命令使配置生效:/ g, e- A, n% R; W; h3 S9 t; ?
source /etc/profile
3 `, d4 `# h" l/ Q# M+ Z步骤3 修改默认JDK版本。, R: e0 d8 U! p- `
Ubuntu中可能会有默认的JDK, 如openjdk, 因而我们需要将自己安装的JDK设置为默认JDK版本, 执行下面的代码:
& ~! N$ f7 W k2 hsudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk1.6.0_25/bin/java 3000 M1 f' z3 i! L( p
sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/jdk1.6.0_25/bin/javac 300
3 p9 Y; r* G v n! Xsudo update-alternatives --install /usr/bin/jar jar /usr/lib/jvm/jdk1.6.0_25/bin/jar 300
) {7 T) u1 | j- O* A7 D: {. I% M( P0 ssudo update-alternatives --install /usr/bin/javah javah /usr/lib/jvm jdk1.6.0_25/bin/javah 300
7 D `- o$ X! J6 rsudo update-alternatives --install /usr/bin/javap javap /usr/lib/jvm/jdk1.6.0_25/bin/javap 300
* l4 G W" X$ f. N; D然后执行以下代码选择我们安装的JDK版本:
5 k7 Q& i- r# X# `" U1 k( Jsudo update-alternatives --config java
: }3 s/ W/ r7 f6 X步骤4 验证JDK是否安装成功。3 m& r* _. x8 b: X, q
重启Shell终端, 执行java -version命令, 若输出以下内容, 则说明安装成功:1 l, I3 a& d# }+ i$ H1 I
java version "1.6.0_25"- U* l V' \7 M
Java(TM) SE Runtime Environment (build 1.6.0_25-b06)
w6 _. P. h4 hJava HotSpot(TM) Client VM (build 20.0-b11, mixed mode, sharing): |& t$ x& d- R
2.安装、 配置Maven及Eclipse
' S' ~6 f. ]) f2 ], O, c下面介绍Maven和Eclipse的安装、 配置方法。- |, w6 `! ^* S5 d3 v8 r- K5 Q
( 1) 安装与配置Maven& P9 |. v2 C- S, I0 Q) f0 S* [8 D
首先解压下载包, 比如解压到文件/usr/lib/apache-maven-3.0.5目录下, 然后修改/etc/profile文件, 在里面添加以下内容:9 c( Q6 r M& t! s
export MAVEN_HOME=/usr/lib/apache-maven-3.0.5
, X' w/ u/ _- G8 _4 a' Iexport PATH=$PATH$ANT_HOME/bin0 x1 h2 u% W% h. a% x6 K
输入以下命令使配置生效:7 ^, y5 y+ ]7 O
source /etc/profile
, C. O9 X, C! ^; s. s" Z" E同Windows下的验证方式一样, 重启终端, 执行mvn --version命令, 若输出以下内容, 则说明安装成功:" ^8 c9 J! }9 \7 g# O' i
Apache Maven version 3.0.5 compiled on June 27 2008* w# [; {& U: ? s! W% A2 B
( 2) 安装Eclipse# @2 n! ~2 ]2 g
同Windows环境下安装方式一样, 直接解压即可使用。( a6 }8 \4 d5 b# x
[1] 截至本书结稿时, Apache Hadoop SVN中已经出现了针对Windows操作系统的分支, 具体见http://svn.
9 ?* D% z+ u5 u1 @+ i4 gapache.org/repos/asf/hadoop/common/branches/下的branch-1-win和branch-trunk-win, 且Hortonworks公司发布了Windows安装版本, 具体" N) d6 S( ~: E, v# y9 _( X
见 http://hortonworks.com/partners/microsoft/。
2 E: j9 o# ]! B/ N9 `/ m+ b0 d8 {0 s% P
|
|