|
1.1 准备学习环境- Q; G/ {2 l& t" ]& @8 p
对于大部分公司而言, 实验和生产环境中的服务器集群部署的是Linux操作系统, 考虑到Linux在服务器市场中具有统治地& J2 [; h/ t9 [# W T: Z; Z
位, Hadoop从一开始便是基于Linux操作系统开发的, 因而对Linux有非常完美的支持。 尽管Hadoop采用了具有跨平台特性的Java/ o: ~& A. e/ k w; E
作为主要编程语言, 但由于它的一些功能实现用到了Linux操作系统相关的技术, 因而对其他平台支持不够友好, 且没有进行过
) \) \/ y$ A8 K, f/ Y: V严格测试。 换句话说, 其他操作系统( 如Windows) 仅可 作为开发环境 [1] , 不可作为生产环境。 对于学习源代码而言, 操作系, }, {; Z- d5 z* \; c. R
统的选择显得不是非常重要, 读者可根据个人爱好自行决定。 本节以64bit Linux为例, 介绍如何在单机上准备Hadoop源代码学习3 c& E) n* c& T/ f
环境。
! I: Z( U" T4 Q* _. C$ W9 X. ~1.1.1 基础软件下载
j8 M8 n; b" _( L, k5 p前面提到Hadoop采用的开发语言主要是Java, 因而搭建Hadoop环境所需的最基础软件首先应该包括Java基础开发包JDK和/ o! ?1 V! c. [" z8 T
Java项目管理工具Maven, 考虑到源代码阅读和调试的便利性, 本书采用功能强大的集成开发环境Eclipse。 搭建Hadoop阅读环境
7 }+ N7 b% U) B$ m需要的各种软件以及下载方式如表1-1所示。9 f( Q0 H1 M$ L2 e( Z
表1-1 搭建Hadoop阅读环境所需的软件3 \! g3 H* I0 _
Galileo以上版本: 注意, Indigo及以上版本与Hadoop Eclipse插件可能存在兼容问题。
* Z! q. p4 E1 \" N. c- B1.1.2 如何准备Linux环境
i+ r% E0 [3 l2 B8 c# i本节主要介绍如何准备Linux下Hadoop学习环境。 搭建Linux学习环境需要安装JDK和Eclipse等软件。 为了方便1.6节介绍
5 z7 j* q9 ?5 `, \- Y: G& kHadoop源代码编译方法, 本节顺便安装Hadoop项目管理工具Maven。 本文以64bit Ubuntu为例, 介绍安装这些软件的方法, 最终安" J% H- W+ _# u9 W" c/ d
装完成的目录结构为:
) W0 s# l' D+ d- R7 p$ |ROOT
3 Y% a0 k! p2 r/ {( ]├─home
7 D! f4 K8 i) t9 S│ └─dong
5 o1 {+ c) _1 Z│ └─eclipse
2 E/ T6 {# L( c9 r└─ a3 w( j8 M& s, n) I, p( r+ R
usr
- U0 _1 @8 I7 K( ^% n% I8 ]└─
! g# c6 j/ A; R! Y* h: rlib
# a# n8 L8 G* _7 H. `├─apache-maven-3.0.5: b; B$ v- z4 ~) H! m( }
└─
% x: l/ f, L5 N& f# Z, J1 Qjvm
7 z9 {6 F& ^- G e; k└─1 \- M; z+ L" a" i# ~+ N
jdk1.6.0_25
! i$ n) E4 m3 t9 p1.JDK安装与配置
- t; C3 I; S. r8 g, f6 p5 r6 k! c一般而言, Ubuntu系统会自带JDK, 如果没有或者版本不合要求, 可按以下步骤进行安装。
4 y6 [: Z4 D' j步骤1 安装JDK。; g0 a- s* A- M$ G. D
将下载的.bin文件复制到Linux的某个目录下, 比如/usr/lib/jvm/, 然后在Shell中执行以下命令为该文件添加可执行权限:" y- x( b7 U* J' U7 j
chmod +x /usr/lib/jvm/jdk1.6.0_25.bin L0 o# C0 _7 l; F- ^. X
然后执行以下命令安装JDK:
) c( h* ?3 [4 G b6 Q1 r2 I" c5 psudo /usr/lib/jvm/jdk1.6.0_25.bin
! I# }0 X/ r' b之后将会出现安装信息, 直至屏幕显示要求按下回车键, 此时输入回车键后, 会把JDK解压到文件夹jdk1.6.0_25中。 至
+ Q3 E& d, Z" z9 |9 D此, JDK已安装完毕, 下面进行配置。+ ] y9 @' R4 t( r. O5 y: g
步骤2 配置JDK。
. D: V: Y, p! }, e8 z1 }1 C% z修改/etc/profile文件, 在里面添加以下内容:
6 J7 Y5 R- r0 v8 p/ q; D2 rexport JAVA_HOME=/usr/lib/jvm/jdk1.6.0_256 u: z7 V& K! k/ b/ r& Z9 Z' u, M) l
export PATH=$PATHJAVA_HOME/bin
' R H; a' c3 h7 Vexport CLASSPATH=$CLASSPATHJAVA_HOME/libJAVA_HOME/jre/lib3 l& _3 q$ F9 z* c0 c9 l
输入以下命令使配置生效:
( f& e) O: @; ]6 csource /etc/profile0 K( U" h) f0 H% c9 a
步骤3 修改默认JDK版本。
& y) V" K. v$ h3 d/ IUbuntu中可能会有默认的JDK, 如openjdk, 因而我们需要将自己安装的JDK设置为默认JDK版本, 执行下面的代码:& ?3 S3 f: M: F
sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk1.6.0_25/bin/java 300
8 S& O% A' ^2 m. b& v1 @sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/jdk1.6.0_25/bin/javac 300
) e7 M2 _9 S- ~% C6 v* v; Zsudo update-alternatives --install /usr/bin/jar jar /usr/lib/jvm/jdk1.6.0_25/bin/jar 300( W$ v( t5 K$ V# U! |
sudo update-alternatives --install /usr/bin/javah javah /usr/lib/jvm jdk1.6.0_25/bin/javah 300
) }) }: E' w) t% v! }sudo update-alternatives --install /usr/bin/javap javap /usr/lib/jvm/jdk1.6.0_25/bin/javap 300
0 a' a' C, Y$ J: W& t然后执行以下代码选择我们安装的JDK版本:/ a: ^8 B' O8 g' @3 U
sudo update-alternatives --config java
- q2 [* g) B( X步骤4 验证JDK是否安装成功。1 w. ~ d4 p! j4 |$ N$ A0 a& ~9 B# p
重启Shell终端, 执行java -version命令, 若输出以下内容, 则说明安装成功:, x* t. x4 s$ C' V$ M8 v8 h4 `2 `
java version "1.6.0_25"
0 V: Y: U- `% ?! BJava(TM) SE Runtime Environment (build 1.6.0_25-b06)( x5 O# B3 z |+ p: p$ z# e
Java HotSpot(TM) Client VM (build 20.0-b11, mixed mode, sharing)& h( v( N Z' o, h
2.安装、 配置Maven及Eclipse0 A$ I! D# q% r+ w; ~3 }* Q9 t
下面介绍Maven和Eclipse的安装、 配置方法。
% B! R4 M" q6 y) A4 r9 d0 O( 1) 安装与配置Maven8 B; H% ^: Z2 Y& c: w. L6 ?
首先解压下载包, 比如解压到文件/usr/lib/apache-maven-3.0.5目录下, 然后修改/etc/profile文件, 在里面添加以下内容:
; C% P; Z( w; Pexport MAVEN_HOME=/usr/lib/apache-maven-3.0.5
8 c! W2 \' `; N' K' e; Eexport PATH=$PATH$ANT_HOME/bin
& w- m) Z. ^1 [# g6 i; W输入以下命令使配置生效:
! N% c/ ]6 l. x( Msource /etc/profile" b* m5 @9 z. w3 N. h; {
同Windows下的验证方式一样, 重启终端, 执行mvn --version命令, 若输出以下内容, 则说明安装成功:
& N/ Q- T' f4 R/ V ]8 EApache Maven version 3.0.5 compiled on June 27 2008
4 [+ e0 b$ ~- `( ?$ I( 2) 安装Eclipse
/ A+ @+ S; M2 J+ t同Windows环境下安装方式一样, 直接解压即可使用。. M/ ? z* L7 t" Z
[1] 截至本书结稿时, Apache Hadoop SVN中已经出现了针对Windows操作系统的分支, 具体见http://svn./ x A; @8 n7 A7 S+ ]: @
apache.org/repos/asf/hadoop/common/branches/下的branch-1-win和branch-trunk-win, 且Hortonworks公司发布了Windows安装版本, 具体6 T' }$ H9 R$ K3 B
见 http://hortonworks.com/partners/microsoft/。
1 W1 @9 c' `9 h: a
/ w) q$ J; i" m, \* z/ {$ y |
|