从真正知道有hadoop 这个东西,是从去年年底开始的, 从去年到现在这段时间,其中也有过间断的学习,hadoop当初给我的感觉是这个东西比较神奇,以至于到现在我对它都保持极高的好奇心。

真正下决心学习hadoop是今年过年后了,想找一个技术作为突破口,来充实自己的技能,于是我选择了hadoop.

原因有2个,第1 hadoop 的生态系统完善及数据处理能力,第2是开源,.

这个日记算是学习笔记,现在来说说hadoop 的编译,打包,及安装。

一,hadoop 2.0.3 的编译

  1. 选择hadoop版本:branch-2.0.3-alpha
  2. 操作系统版本: suse11 x64
  3. 假设java 环境安装正确,java 版本1.6

操作方法及具体步骤:

1,从git.apache.org 中clonehadoop-common  


git clonegit://git.apache.org/hadoop-common.git


2,安装编译hadoop-common 需要用到的软件,并测试是否安装成功.具体安装步骤在此略过了.

Requirements:

 

* Unix System

* JDK 1.6

* Maven 3.0

* Findbugs 1.3.9 (if running findbugs)

* ProtocolBuffer 2.4.1+ (for MapReduce andHDFS)

* CMake 2.6 or newer (if compiling nativecode)

3,进入到hadoop-common 切换到2.03版本

git checkout branch-2.0.3-alpha

然后运行maven 命令


$ mvn install -DskipTests $ mvn eclipse:eclipse -DdownloadSources=true -DdownloadJavadocs=true


大概经过1小时左右的运行(由网络环境而定) 如果没有意外hadoop 源码编译完成了,也可以导入eclipse 做二次开发了, 

4, 现在我们编译成tar包来进行安装.  mvn package -Dtar -DskipTests –Pdist,native,docs

等待运行完成命令后  就可以在hadoop-common/hadoop-dist/target 见到我们编译好的hadoop-2.0.3-alpha.tar.gz

值得注意的是suse11里面运行报错,可能系统没有安装zlib和openssl-devel 的问题,

http://zlib.net/下载安装zlib ,和使用yast 安装libopenssl-devel之后在次运行上面的命令就可以成功运行maven编译了.

二hadoop 2.0.3 的安装

根据官方文档,分文单机安装,和分布式安装

  1. 单机安装

   步骤1,假设上面编译通过,并且解压设置HADOOP_COMMON_HOME/HADOOP_HDFS_HOME,

   这2个变量设置为hadoop-alpha目录,然后我们就可以继续下一步安装了,运行命令


$ cd hadoop-mapreduce-project/target 可以看到一个tar文件,虽然文档上面提供了一个命令


$ mvn clean install assembly:assembly -Pnative


但是可能由于我maven 版本问题,也可能是pom 配置问题 无法运行这个命令,但是既然生产了tar 文件,对于当前情况就不过于研究问题所在了。


步骤2.其次解压hadoop-mapreduce-2.0.3-alpha.tar.gz 


设置 HADOOP_YARN_HOME/HADOOP_MAPRED_HOME.为hadoop-mapreduce-2.0.3-alpha.tar.gz 的解压目录.


  1. 3.设置配置文件.mapred-site.xml yarn-site.xml capacity-scheduler.xml
  2. ,应为有默认的,运行文档上的命令

$ cd $HADOOP_MAPRED_HOME


$ sbin/yarn-daemon.sh start resourcemanager


$ sbin/yarn-daemon.sh start nodemanager


$HADOOP_COMMON_HOME/bin/hadoop jar hadoop-examples.jar randomwriter out


  1. ,访问http://host:8088 就能看见资源管理节点了.
  2. ,如果设置了以上配置文件则启动命令必须添加参数

$ sbin/yarn-daemon.sh –config $HADOOP_CONF_DIRstart resourcemanager


$ sbin/yarn-daemon.sh –config $HADOOP_CONF_DIR start nodemanager



  1. 分布式安装