Running Hadoop 0.15.1 on Single Node
一年前我曾经写过一篇文章介绍如何安装和配置 Hadoop cluster,但从开发者实践角度来说,在开发阶段通常需要把 Hadoop 配置在单机(单节点)上,这样比较现实,谁能有事没事就随身带着 N 台机器组成的 cluster 呢?再者,当时我用的版本是 0.9.2,现在最新的 Hadoop 是 0.15.1,毕竟 Hadoop 还处于 pre-1.0 阶段,版本的变化很大。
本文的目标是描述在一台机器上配置 Hadoop,以伪分布式模式(pseudo-distributed mode)运行,即,每个 Hadoop daemon 运行在不同的 Java process 中。主要用于开发环境的构建 or just play with Hadoop.
我自己使用的是 Ubuntu Linux 7.10,若你需要在 Windows 系统上玩,请安装 Cygwin,并确保选择了 openssh 包。
1. 指定 JAVA_HOME 路径
编辑 $HADOOP_HOME/conf/hadoop-env.sh 文件,指定其中的 JAVA_HOME 项即可。
| export JAVA_HOME=/usr/lib/jvm/java-1.5.0-sun-1.5.0.13 |
2. Hadoop 配置
编辑 $HADOOP_HOME/conf/hadoop-site.xml ,加入以下几项:
| <property> <name>fs.default.name</name> <value>hdfs://localhost:9000</value> </property> <property> <property> |
3. 格式化 namenode
huangys@hyspc:~$ cd hadoop-0.15.1
huangys@hyspc:~/hadoop-0.15.1$ bin/hadoop namenode -format
启动、停止指令没有变化,就不说了。
可以通过 SUN Java 5 提供的指令 jps 来校验是否成功启动。若正常启动,将看到类似以下输出:
huangys@hyspc:~$ jps
9434 TaskTracker
9099 NameNode
9178 DataNode
9342 JobTracker
9273 SecondaryNameNode
14057 Jps
END!