《hadoop:the definitive guide 3th》中的例子默认提供了一种编译和构建jar包方法——maven,如果没有maven你会发现编译测试随书的源码会非常的麻烦(至少在命令行下),当然你也可以使用eclipse导入随书的源码再自己一个个的添加依赖性jar包(恐怕也不太容易)。不过还好有非常好的开源的软件项目管理工具来帮助我们做这些无关于程序本身设计与架构的琐碎的工作,那就是maven!
如果你对maven还不太了解,可以参看这里。
《hadoop:the definitive guide 3th》的源码包可以从github中下载到,如下图所示:
下载完后解压缩,其根目录下有一个README文件,通过它我们可以得到关于这本书源码的使用方法(基本上所有的开源项目发行包的根目录下都有这么一个文件,也有可能叫做INSTALL,这是了解安装某个开源软件最直接最简单的方法了),其中有说明了构建此书源码所需的所有依赖组件的段落:
This version of the code has been tested with: * Hadoop 1.0.4/0.22.0/0.23.0/2.0.2-alpha * Avro 1.5.4 * Pig 0.9.1 * Hive 0.8.0 * HBase 0.90.4 * ZooKeeper 3.4.2 * Sqoop 1.4.0-incubating * MRUnit 0.8.0-incubating |
为此,我们需要先安装上述依赖性组件(注意安装时候的版本尽量与上述版本的要求一致,MRUnit我没有安装),在linux下安装软件通常情况下是非常简单的,我们只需要把相应的安装包解压缩,然后在~/.bashrc中配置该安装包的解压路径到环境变量即可(此安装方法适合于大部分linux下软件的安装,不过具体安装方法还需参看README或INSTALL文件),各个依赖性组件的安装方法在本书中相应章节都有介绍,还有疑惑的同学可以到书中自行查看,下面仅以Hbase为例:
% tar xzf hbase-x.y.z.tar.gz |
执行完上述步骤后,输入hbase命令出现如下界面,就说明已经安装成功了(别忘了执行". ~/.bashrc"使配置的环境变量生效):
下面我们就可以切换到本书的源文件包的根目录下使用maven来构建本书的jar包了:
% mvn package -DskipTests -Dhadoop.version=1.0.4
执行过这条命令后就是很长时间的等待,maven会到他的中央仓库和apache的仓库中下载所需要的jar包和pom.xml文件(这个过程可能要持续大约一个小时,要确保你的电脑已经连上网络,下载完成后在~/.m2/repository文件夹中——也即本地仓库——可以看到已经下载下来的jar包和pom文件),然后再逐个构建根目录下pom.xml中配置的modules,等所有的工作做完就可以看到已经打包的各个jar包,从而可以很方便的在命令行使用hadoop命令测试书中的代码了。
转载请注明出处:http://www.cnblogs.com/beanmoon/archive/2012/12/27/2835531.html