Hadoop测试-简单分布式程序运行

来源:互联网 发布:ubuntu默认root密码 编辑:程序博客网 时间:2024/05/17 02:42

1.PI计算
1.1 基本步骤
(1)首先切换到hadoop的安装目录下,可以看到hadoop的安装目录中已经自带了一些小程序,都打包在hadoop-examples-1.2.1.jar中,下一步就是如何打开jar包。
(2)在命令行中,直接键入hadoop,可以显示各种命令用法。
这里写图片描述
可以看到,其中有个jar,用于运行jar文件。
(3)接下来输入hadoop jar hadoop-examples-1.2.1.jar打开jar包,可以看到各种程序的名字。
这里写图片描述
(4)再下一步就直接运行某个程序,直接在命令行中输入代码:hadoop jar hadoop-examples-1.2.1.jar pi,此时可以发现系统提示用法,需要参数,参数分别为maps的数量以及每个map的实例数量。
这里写图片描述
1.2 结果展示
(5)最终输入参数运行程序,可以进入用户界面中查看进度和完成情况,输入主机名+50030端口号,进入Map/Reduce Adminstrator管理界面。
这里写图片描述
在命令行中可以看到输出结果:
这里写图片描述
2.WordCount程序
2.1 目录设置
(1)输入hadoop dfs -ls /可以看到hadoop文件系统中的主目录下的内容,可以看到3个文件夹。其实,这边展示的目录是hdfs下的文件目录,其实真实代码是:hadoop dfs -ls hdfs://hadoop-master.dimensoft.com.cn:9000/,之所以可以省略是因为Hadoop的配置文件中已经进行过配置。
这里写图片描述
(2)在data下新建数据输入目录,数据输入用于存放进行wordcount的文档集,而进行程序之后一般需要一个输出文档,用于统计文档中单词出现的次数,此时键入命令。
这里写图片描述
2.2 文本创建
其次在Linux系统下,首先是要新建或者获取到需要统计单词数的文档,在这里,我们选择自己新建一个简单文档,然后将需要统计单词数的文档上传到input文件夹下。
新建文档时,之前都是使用touch产生文件,此时这边提供另一种方式:
这里写图片描述
echo是显示这段文本,其次将这段文本在指向input2.data文件,意思即在文件中写入该文本。此时修改input2.data在其中多增些文本,用于计算。
2.3 上传文本
采取hadoop命令将需要统计单词数的文本上传到hdfs的指定目录下,如下图中所示:
这里写图片描述
其次查看input2.data的文本,此处使用text命令,得到如下结果:
hadoop dfs –text /data/jobs/wc/input/input2.data
这里写图片描述
2.4 运行程序
(1)键入命令程序:hadoop jar /opt/modules/hadoop-1.2.1/hadoop-examples-1.2.1.jar wordcount /data/jobs/wc/input/input2.data /data/jobs/wc/output
wordcount后面跟两个参数,一个是需要进行处理的文档目录,还有一个则是处理结果的输出目录,其次就是等待运行。
(2)运行时,用户进入界面接口进行查看。如下图:在runningjobs中的一些具体信息。
这里写图片描述
命令行中输入的一些信息包括如下截图:
这里写图片描述
这里写图片描述
最后一行,显示的Map output records=11,说明输出11行结果。
(3)查看结果。
查看结果可以直接在用户界面接口中直接进行查看,步骤如下:
这里写图片描述
点入,可以看到本次任务的一些具体信息:
这里写图片描述
在界面中输入50070端口,进入hdfs系统查看:
这里写图片描述
这里写图片描述
可以看到输出目录下有3个文件,success是记录任务运行成功信息,logs是记录本次任务的日志信息,最后一个则是最终的输出结果集,打开可以看到如下:
这里写图片描述
统计出所有单词数,及其出现次数。

0 0
原创粉丝点击