|
1.1 准备学习环境
2 N% ^( k4 A; ]对于大部分公司而言, 实验和生产环境中的服务器集群部署的是Linux操作系统, 考虑到Linux在服务器市场中具有统治地
$ |5 Y0 {6 }- Z+ e6 M位, Hadoop从一开始便是基于Linux操作系统开发的, 因而对Linux有非常完美的支持。 尽管Hadoop采用了具有跨平台特性的Java. q5 e* `7 ^3 u& O# i, H- {
作为主要编程语言, 但由于它的一些功能实现用到了Linux操作系统相关的技术, 因而对其他平台支持不够友好, 且没有进行过
; d/ S, t8 ~' }/ K严格测试。 换句话说, 其他操作系统( 如Windows) 仅可 作为开发环境 [1] , 不可作为生产环境。 对于学习源代码而言, 操作系
9 H9 L( B/ d3 X统的选择显得不是非常重要, 读者可根据个人爱好自行决定。 本节以64bit Linux为例, 介绍如何在单机上准备Hadoop源代码学习
9 `' N8 E% |0 @环境。
+ D1 Y6 l* j1 g6 |8 ^, a1.1.1 基础软件下载( q3 ~$ s7 S5 t& ~$ ]8 ?
前面提到Hadoop采用的开发语言主要是Java, 因而搭建Hadoop环境所需的最基础软件首先应该包括Java基础开发包JDK和
6 Q, N8 E- Y3 u. eJava项目管理工具Maven, 考虑到源代码阅读和调试的便利性, 本书采用功能强大的集成开发环境Eclipse。 搭建Hadoop阅读环境1 L: l6 ^' s7 s1 Y: u9 h' [
需要的各种软件以及下载方式如表1-1所示。$ E7 p8 D% ], e1 U
表1-1 搭建Hadoop阅读环境所需的软件
! k4 `% t6 K+ R5 A4 q& HGalileo以上版本: 注意, Indigo及以上版本与Hadoop Eclipse插件可能存在兼容问题。
9 b" Q( f2 v# z$ }6 y1 `1.1.2 如何准备Linux环境 X9 g! H$ o" ? x# h/ ?
本节主要介绍如何准备Linux下Hadoop学习环境。 搭建Linux学习环境需要安装JDK和Eclipse等软件。 为了方便1.6节介绍# _4 W6 R. e; a/ c
Hadoop源代码编译方法, 本节顺便安装Hadoop项目管理工具Maven。 本文以64bit Ubuntu为例, 介绍安装这些软件的方法, 最终安, ]( d A! X4 P, q
装完成的目录结构为:
; B4 b& H) x" wROOT
# S4 j: P$ Z6 ~8 q├─home" R2 U' L) n) M+ L: t( l; ]
│ └─dong
5 n X# \ }4 w# }* [* ^│ └─eclipse
M! p; m# p; h" ]. w5 E! u└─* D( U( f! P5 |6 r
usr
, A: X; N) Y+ ]5 p4 T8 y└─
! h; z. ] f. s A+ Llib
1 R% h* m8 j# h3 V+ s" C$ ]├─apache-maven-3.0.5/ P, b" @5 j" a J, V
└─/ b* ]) S, m& \# G5 e
jvm
6 B4 }( s! [- s. H- i/ R$ \' G└─
7 x9 |' Z/ u& [! Q6 f1 Vjdk1.6.0_256 F( q: p* C2 I7 ^
1.JDK安装与配置. n L3 K, Y& f `" T
一般而言, Ubuntu系统会自带JDK, 如果没有或者版本不合要求, 可按以下步骤进行安装。
- I# t8 b0 v) P" t+ P6 K2 d% _步骤1 安装JDK。
`: n6 X- U# g4 m" B& e. j将下载的.bin文件复制到Linux的某个目录下, 比如/usr/lib/jvm/, 然后在Shell中执行以下命令为该文件添加可执行权限:
* C- ~+ Q" b& V- ] X. J' zchmod +x /usr/lib/jvm/jdk1.6.0_25.bin" V. A7 b4 A0 I. e5 W7 h: L
然后执行以下命令安装JDK:1 _! w7 f9 w7 `$ z5 O
sudo /usr/lib/jvm/jdk1.6.0_25.bin! {% n( C; j' Q" E, z+ B
之后将会出现安装信息, 直至屏幕显示要求按下回车键, 此时输入回车键后, 会把JDK解压到文件夹jdk1.6.0_25中。 至
5 I' Q% }/ A, S此, JDK已安装完毕, 下面进行配置。# F" ]+ k3 a' [
步骤2 配置JDK。- p; D) f h& F* m# u+ a7 ?
修改/etc/profile文件, 在里面添加以下内容:3 l$ C4 c; m, a/ B
export JAVA_HOME=/usr/lib/jvm/jdk1.6.0_25, {' a+ Y: I6 x5 X
export PATH=$PATHJAVA_HOME/bin
, f" l( S+ p/ E* l, texport CLASSPATH=$CLASSPATHJAVA_HOME/libJAVA_HOME/jre/lib$ Q; G/ u% n ~7 c# I. l
输入以下命令使配置生效:1 Q* U0 V/ v3 V# x4 |
source /etc/profile% w( Z( B" N* y# {- b
步骤3 修改默认JDK版本。2 g& X0 F5 d/ i
Ubuntu中可能会有默认的JDK, 如openjdk, 因而我们需要将自己安装的JDK设置为默认JDK版本, 执行下面的代码:
6 h, H( J; K O7 p' |; o3 jsudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk1.6.0_25/bin/java 300
+ g4 i: T: U# L5 |) R/ l% |sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/jdk1.6.0_25/bin/javac 300/ {! ~" o& S/ I$ _$ V) u5 b
sudo update-alternatives --install /usr/bin/jar jar /usr/lib/jvm/jdk1.6.0_25/bin/jar 300
5 Y+ s! x a. [sudo update-alternatives --install /usr/bin/javah javah /usr/lib/jvm jdk1.6.0_25/bin/javah 300, I( C5 z% K8 L/ Y3 m
sudo update-alternatives --install /usr/bin/javap javap /usr/lib/jvm/jdk1.6.0_25/bin/javap 300, I$ @5 q3 X3 z. G
然后执行以下代码选择我们安装的JDK版本:
- |/ F* v9 s5 `0 rsudo update-alternatives --config java
# {5 n% f9 Z. I. i/ C3 O步骤4 验证JDK是否安装成功。) [6 s) X9 y# L$ r
重启Shell终端, 执行java -version命令, 若输出以下内容, 则说明安装成功:8 t5 Z3 g8 H9 s, ~. W
java version "1.6.0_25"9 X! `8 Q) v; O' k y/ Q
Java(TM) SE Runtime Environment (build 1.6.0_25-b06)9 q# A" r9 k; a. Z; y
Java HotSpot(TM) Client VM (build 20.0-b11, mixed mode, sharing)
$ T5 y8 z& E4 d* X; `) `8 s9 M+ w$ T+ |2.安装、 配置Maven及Eclipse
) l8 Z% z P8 q3 m/ s9 c5 l下面介绍Maven和Eclipse的安装、 配置方法。: I+ O% E+ t# K& }9 v3 P5 u7 s/ F5 [
( 1) 安装与配置Maven
& _- s8 \* ?: v$ }3 g首先解压下载包, 比如解压到文件/usr/lib/apache-maven-3.0.5目录下, 然后修改/etc/profile文件, 在里面添加以下内容:. W2 Y" H; y9 i. z ^ E8 p8 H
export MAVEN_HOME=/usr/lib/apache-maven-3.0.5) v* f, Z, `3 q- X
export PATH=$PATH$ANT_HOME/bin1 f' Q/ \# z. g3 W) i
输入以下命令使配置生效:1 c4 p0 ?- B0 C! L1 }
source /etc/profile
2 H8 J9 I' r* k& _9 V p同Windows下的验证方式一样, 重启终端, 执行mvn --version命令, 若输出以下内容, 则说明安装成功:2 v4 x% E- H6 _, k7 _/ g: T" l
Apache Maven version 3.0.5 compiled on June 27 2008
3 m$ M$ W7 h4 |6 E( 2) 安装Eclipse c; q% U2 q1 x7 m5 C8 N
同Windows环境下安装方式一样, 直接解压即可使用。( C$ W$ t1 f! S# `! r
[1] 截至本书结稿时, Apache Hadoop SVN中已经出现了针对Windows操作系统的分支, 具体见http://svn.+ b, e0 K% A( V' y6 j, z
apache.org/repos/asf/hadoop/common/branches/下的branch-1-win和branch-trunk-win, 且Hortonworks公司发布了Windows安装版本, 具体- \9 A$ Z) T* V, G! f
见 http://hortonworks.com/partners/microsoft/。
& m1 J' L: e) V9 D/ u) J
/ h0 R7 A+ R5 G7 _5 k1 e, M- R |
|