
上QQ阅读APP看书,第一时间看更新
1.4.2 Hadoop单机模式的配置
Hadoop默认的运行模式为非分布式模式(即单机模式),Hadoop解压后无须进行其他配置就可运行单机模式,非分布式表示单Java进程。Hadoop单机模式只在一台机器上运行,存储采用本地文件系统,而不是HDFS。无须任何守护进程(daemon),所有的应用程序都在单个JVM(Java virtual machine,Java虚拟机)上执行。在单机模式下调试MapReduce程序非常高效方便,这种模式适用于开发阶段。
Hadoop不会启动NameNode、JobTracker、TaskTracker等守护进程,Map和Reduce操作作为同一个进程的不同部分执行。
Hadoop附带了丰富的例子,执行如下命令可以查看附带的所有例子:

执行上述命令后,会显示所有例子的简介信息,包括wordcount、terasort、join、grep等。下面运行用于单词计数的wordcount例子,wordcount是最简单也是最能体现MapReduce思想的程序之一,可以称为MapReduce版的Hello World程序,wordcount例子的主要功能是统计一系列文本文件中每个单词出现的次数。可以先在/usr/local/hadoop目录下创建一个input文件夹,并复制一些文件到该文件夹下;然后运行wordcount程序,将input文件夹中的所有文件作为wordcount的输入;最后,把统计结果输出到/usr/local/hadoop/output文件夹中。完成上述操作的具体命令如下:


Hadoop默认不会覆盖结果文件,因此,再次运行上面的实例会提示出错。如果要再次运行,需要先使用如下命令把output文件夹删除:
