引文地址:http://www.cnblogs.com/welbeckxu/archive/2011/12/29/2306526.html
这几天刚接触Hadoop,在学习如何搭建一个Hadoop集群。在这分享一下经验,ubuntu10.04 +hadoop0.20.2。
Hadoop的运行模式有以下三种。
单机模式(standalone)
单机模式是Hadoop的默认模式。当首次解压Hadoop的源码包时,Hadoop无法了解硬件安装环境,便保守地选择了最小配置。在这种默认模式下所有3个XML文件均为空。当配置文件为空时,Hadoop会完全运行在本地。因为不需要与其他节点交互,单机模式就不使用HDFS,也不加载任何Hadoop的守护进程。该模式主要用于开发调试MapReduce程序的应用逻辑。
伪分布模式(Pseudo-Distributed Mode)
伪分布模式在“单节点集群”上运行Hadoop,其中所有的守护进程都运行在同一台机器上。该模式在单机模式之上增加了代码调试功能,允许你检查内存使用情况,HDFS输入输出,以及其他的守护进程交互。
全分布模式(Fully Distributed Mode)
Hadoop守护进程运行在一个集群上。
我是在虚拟机装的ubuntu10.04。
Hadoop以Java语言写就,因而需要在本地计算机上安装Java 6或更新版本。
安装JDK1.6
安装之前:
xukangde@xukangde-01:~$ java -version 程序“java”已包含在下列软件包中: * gcj-4.4-jre-headless * openjdk-6-jre-headless * cacao * gij-4.3 * jamvm 请尝试:sudo apt-get install <选定的软件包>
安装:
xukangde@xukangde-01:~$ sudo apt-get install openjdk-6-jdk
安装后:
xukangde@xukangde-01:~$ java -version java version "1.6.0_20" OpenJDK Runtime Environment (IcedTea6 1.9.10) (6b20-1.9.10-0ubuntu1~10.04.2) OpenJDK Client VM (build 19.0-b09, mixed mode, sharing)
安装hadoop0.20.2
从官网下载hadoop-0.20.2.tar.gz放在/home/xukangde目录下
解压
xukangde@xukangde-01:~$ sudo tar xzf hadoop-0.20.2.tar.gz
更名,仅仅为了方便
xukangde@xukangde-01:~$ sudo mv hadoop-0.20.2 hadoop
修改Hadoop文件的拥有者
xukangde@xukangde-01:~$ sudo chown -R xukangde:xukangde hadoop
配置JAVA_HOME路径
xukangde@xukangde-01:~$ cd hadoop xukangde@xukangde-01:~/hadoop$ gedit conf/hadoop-env.sh
hadoop-env.sh:Hadoop配置文件。格式为Bash脚本,记录脚本要用的环境变量,以运行Hadoop。
将
# The java implementation to use. Required.
# export JAVA_HOME=/usr/lib/j2sdk1.5-sun
改为
# The java implementation to use. Required.
export JAVA_HOME=/usr/lib/jvm/java-6-openjdk
输入以下命令来判断Hadoop是否运行
xukangde@xukangde-01:~/hadoop$ bin/hadoop version Hadoop 0.20.2 Subversion https://svn.apache.org/repos/asf/hadoop/common/branches/branch-0.20 -r 911707 Compiled by chrisdo on Fri Feb 19 08:07:34 UTC 2010
此时说明已经成功配置好了Standalone mode。
下面来
运行WordCount
在hadoop目录下新建input文件夹
xukangde@xukangde-01:~/hadoop$ mkdir input
将conf中的所有文件拷贝到input文件夹中
xukangde@xukangde-01:~/hadoop$ cp conf/* input
运行WordCount程序,并将结果保存到output中
xukangde@xukangde-01:~/hadoop$ bin/hadoop jar hadoop-0.20.2-examples.jar wordcount input output
运行
xukangde@xukangde-01:~/hadoop$ cat output/*
你会看到conf所有文件的单词和频数都被统计出来。
伪分布模式和全分布模式的Hadoop部署待续。