用 Hadoop 进行分布式并行编程, 第 3 部分部署到分(3)

四 运行 Hadoop 程序

至此,整个 Hadoop 分布式环境已经部署完毕,并已启动相关后台进程。现在我们可以尝试运行一下我们在第二篇文章中介绍的 wordcount 程序,如代码清单 6 所示:


代码清单 6
homer06: $ mkdir -p /home/test-in # 请先将待测的文件放到本地文件系统的/home/test-in目录 homer06: $ cd /home/caoyuz/hadoop-0.16.0 homer06: $ bin/hadoop dfs –put /home/test-in input # 将本地文件系统上的 /home/test-in 目录拷到 HDFS 的根目录上,目录名改为 input $ bin/hadoop jar hadoop-0.16.0-examples.jar wordcount input output #查看执行结果: # 将文件从 HDFS 拷到本地文件系统中再查看: $ bin/hadoop dfs -get output output $ cat output/* # 也可以直接查看 $ bin/hadoop dfs -cat output/*  

代码清单 6 所示的执行 wordcount 程序的过程,与我们在第一篇文章中介绍的在伪分布式运行环境运行完全一致,但我们现在拥有了一个真正的分布式执行环境,我们的数据分布存储于数据节点 homer07 及 homer08 上,可以在这两台机器的 /home/caoyuz/hadoopfs/data 目录 (这是我们在 conf/hadoop-site.xml 中指定的 dfs.data.dir 参数) 下看到一些数据文件,并且整个 wordcount 的计算过程神奇地由 homer06, homer07, homer08 三台机器并行协同完成,我们还可以很方便的增加更多的机器来参与运算。这就是分布式并行程序的优势: 可以很容易地通过加入新的机器来获得更多的存储空间和计算能力, 部署的机器越多, 就越能有效地完成海量数据的计算。

linux

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/ppyfj.html