|
1.1 准备学习环境
' J' S! X* O( U V' `! Y8 p c对于大部分公司而言, 实验和生产环境中的服务器集群部署的是Linux操作系统, 考虑到Linux在服务器市场中具有统治地# ^- j; ^8 B5 T8 g' z4 k
位, Hadoop从一开始便是基于Linux操作系统开发的, 因而对Linux有非常完美的支持。 尽管Hadoop采用了具有跨平台特性的Java
2 _* W9 r2 }6 l f作为主要编程语言, 但由于它的一些功能实现用到了Linux操作系统相关的技术, 因而对其他平台支持不够友好, 且没有进行过* }9 j2 e1 i5 {' K- D
严格测试。 换句话说, 其他操作系统( 如Windows) 仅可 作为开发环境 [1] , 不可作为生产环境。 对于学习源代码而言, 操作系
V/ E+ X5 K8 X统的选择显得不是非常重要, 读者可根据个人爱好自行决定。 本节以64bit Linux为例, 介绍如何在单机上准备Hadoop源代码学习+ {' @* T0 ~- j1 F5 _
环境。
; j. `( h% F. o, a" z" l0 ^, [9 [6 W: M1.1.1 基础软件下载# k1 D. B- e3 L$ p
前面提到Hadoop采用的开发语言主要是Java, 因而搭建Hadoop环境所需的最基础软件首先应该包括Java基础开发包JDK和3 g0 t, ]1 f1 e5 [$ A
Java项目管理工具Maven, 考虑到源代码阅读和调试的便利性, 本书采用功能强大的集成开发环境Eclipse。 搭建Hadoop阅读环境8 S" v" O& M. h5 g2 t
需要的各种软件以及下载方式如表1-1所示。' D* J$ y$ f7 }
表1-1 搭建Hadoop阅读环境所需的软件
4 Q8 _& v: D% X+ i% H0 nGalileo以上版本: 注意, Indigo及以上版本与Hadoop Eclipse插件可能存在兼容问题。2 Q$ R z6 Q' \+ ^; R3 I
1.1.2 如何准备Linux环境+ Z% ~0 N S/ w8 f! x/ D) w. l
本节主要介绍如何准备Linux下Hadoop学习环境。 搭建Linux学习环境需要安装JDK和Eclipse等软件。 为了方便1.6节介绍' o. ^' M% S6 n0 F N2 Y7 h2 {( {
Hadoop源代码编译方法, 本节顺便安装Hadoop项目管理工具Maven。 本文以64bit Ubuntu为例, 介绍安装这些软件的方法, 最终安/ f3 z3 S* o2 Z5 t
装完成的目录结构为: V K* P: {& ^9 D% Z
ROOT8 m! c9 ?' t Q9 b1 H8 @# w
├─home' {; a$ _2 C+ N& P6 a
│ └─dong$ O' i, n9 J! X
│ └─eclipse1 X. W7 U1 M6 o: c
└─
2 z) y0 f$ z" rusr$ ]- e& D; C5 t& Y
└─, \& R: U7 t9 P0 i- r
lib$ C. w% i& X: a$ s, v7 C
├─apache-maven-3.0.56 q9 ^- j$ r. }/ v
└─, a1 Y j- x0 d
jvm
8 R5 l/ L3 d8 f3 _└─
, F; G* e3 m) ^, K4 F; p' t& ^6 G, xjdk1.6.0_256 Y& x6 v2 c9 f3 m# y1 j# j# I
1.JDK安装与配置
1 o$ r7 Q+ Z" e9 A6 o一般而言, Ubuntu系统会自带JDK, 如果没有或者版本不合要求, 可按以下步骤进行安装。4 g: [ u7 a- [9 Q
步骤1 安装JDK。
# O, K6 m) L$ _将下载的.bin文件复制到Linux的某个目录下, 比如/usr/lib/jvm/, 然后在Shell中执行以下命令为该文件添加可执行权限:
7 G# n, W' r7 x7 p0 uchmod +x /usr/lib/jvm/jdk1.6.0_25.bin
0 N. b# P* k* Z: Z+ \然后执行以下命令安装JDK:7 v# V# x/ z3 I+ v1 M7 _0 l1 G
sudo /usr/lib/jvm/jdk1.6.0_25.bin0 ]- M5 Z# @8 c* p3 p# Z% h
之后将会出现安装信息, 直至屏幕显示要求按下回车键, 此时输入回车键后, 会把JDK解压到文件夹jdk1.6.0_25中。 至) S1 Z9 ~$ f7 P K
此, JDK已安装完毕, 下面进行配置。
2 h: Y/ }+ _& Q, H9 m步骤2 配置JDK。
0 n4 D$ q# q- |7 V7 Q修改/etc/profile文件, 在里面添加以下内容:
+ o2 i8 ^% Z8 ~" ~& }) @6 yexport JAVA_HOME=/usr/lib/jvm/jdk1.6.0_25
1 O- g: d0 W( G, u8 H/ v! |. f yexport PATH=$PATHJAVA_HOME/bin
& j8 M$ C4 p6 l* M5 vexport CLASSPATH=$CLASSPATHJAVA_HOME/libJAVA_HOME/jre/lib
) k( e6 z+ ]2 K+ X3 F: d输入以下命令使配置生效:* ?) M8 n- S1 z1 p7 X0 Z
source /etc/profile
0 f. A& ?6 | I; _# ^7 p步骤3 修改默认JDK版本。
/ Y' z2 r; Z; x# HUbuntu中可能会有默认的JDK, 如openjdk, 因而我们需要将自己安装的JDK设置为默认JDK版本, 执行下面的代码:4 y3 ?* ^+ I! u+ ?* [ J+ E
sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk1.6.0_25/bin/java 300
% N$ w- F" l, h: E0 qsudo update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/jdk1.6.0_25/bin/javac 300
" q; r& x* m/ M M; N- zsudo update-alternatives --install /usr/bin/jar jar /usr/lib/jvm/jdk1.6.0_25/bin/jar 300+ T X7 m0 b( G$ `' a
sudo update-alternatives --install /usr/bin/javah javah /usr/lib/jvm jdk1.6.0_25/bin/javah 3007 F# I4 ^; r3 S1 f7 j
sudo update-alternatives --install /usr/bin/javap javap /usr/lib/jvm/jdk1.6.0_25/bin/javap 3005 D( ^5 d/ E6 @: ?% e
然后执行以下代码选择我们安装的JDK版本:
Z/ W# O; N& R" w8 @: K' z* q: s. Usudo update-alternatives --config java
) N' z( R; l# W8 \' z步骤4 验证JDK是否安装成功。1 e% d* ]: a7 B1 G7 d. S
重启Shell终端, 执行java -version命令, 若输出以下内容, 则说明安装成功:
/ {' S: s" S! Q& O* I) z/ x+ qjava version "1.6.0_25"- j9 j5 ]; N6 S
Java(TM) SE Runtime Environment (build 1.6.0_25-b06)
/ q/ d# O% h- ]2 |2 n4 _- M& EJava HotSpot(TM) Client VM (build 20.0-b11, mixed mode, sharing)# z8 Y& z) {! O0 {5 Y
2.安装、 配置Maven及Eclipse7 Z; M% _5 `5 |) I
下面介绍Maven和Eclipse的安装、 配置方法。& j, R. w( M8 f j# c
( 1) 安装与配置Maven: `8 [6 }. Z& b8 s( A; y6 S
首先解压下载包, 比如解压到文件/usr/lib/apache-maven-3.0.5目录下, 然后修改/etc/profile文件, 在里面添加以下内容:
" x* B: [- w+ I) g W4 Y1 U% sexport MAVEN_HOME=/usr/lib/apache-maven-3.0.5# Z' y2 Y8 V% I3 }
export PATH=$PATH$ANT_HOME/bin
( z* |0 F6 |8 ^# {9 l( t输入以下命令使配置生效:
5 z9 O, z5 `/ E% bsource /etc/profile
5 h% x' ]5 h* D+ J& S7 U3 X同Windows下的验证方式一样, 重启终端, 执行mvn --version命令, 若输出以下内容, 则说明安装成功:
% K; s+ l: I/ o* d( o% f( x# wApache Maven version 3.0.5 compiled on June 27 2008, p1 ~* d: N0 ?* Q3 K
( 2) 安装Eclipse. q2 r" L. d6 Z) D: P
同Windows环境下安装方式一样, 直接解压即可使用。
" q& m; h3 m; b1 E' d3 D[1] 截至本书结稿时, Apache Hadoop SVN中已经出现了针对Windows操作系统的分支, 具体见http://svn.
! [2 ?& y; J- _' rapache.org/repos/asf/hadoop/common/branches/下的branch-1-win和branch-trunk-win, 且Hortonworks公司发布了Windows安装版本, 具体) J- f; V) X. Z4 k4 P* C# V
见 http://hortonworks.com/partners/microsoft/。 ! ^/ d. q& j4 i6 S% u
; Q2 Z* R# N4 D/ X |
|