使用命令行编写运行第一个hadoop程序

预备:

1、预先准备
已安装好java JDK、Hadoop
2、环境:ubuntu
3、文件夹介绍
3.1 hadoop安装在/home/usr/nancy/hadoop/hadoop-2.9.2下
3.2 创建的wordcount_01程序放在/home/nancy/wordcount_01
wordcount_01下有两个文件夹src (存放Java代码)和classes(存放编译的class文件)

一、编写第一个hadoop程序

1、程序构成
1.1文件组成:

  • IntSumReducer.java 负责处理Reducer功能
  • TokenizerMapper.java 负责处理Mapper功能
  • WordCount.java 统筹Mapper和Reducer,先读入文件,然后调用Mapper产生该阶段的结果,再传给Reducer处理
    1.2 IntSumReducer.java代码
    1.3 TokenizerMapper.java代码
    1.4 WordCount.java代码
    1.5 三个文件放在wordcount_01/src下
    使用命令行编写运行第一个hadoop程序_第1张图片

2、编译
-classpath后面是编译使用的路径,有两个(使用:冒号分隔开)
-d 表示编译以后的路径存在这个目录的./classes文件下(也就是wordcount_01/classes),同时使用的是Java文件中包的文件夹形式(e.g:我的Java文件夹的包是com.nancy.hadoop,这里编译出来的文件夹就按照com/nancy/hadoop保存)
在这里插入图片描述
使用命令行编写运行第一个hadoop程序_第2张图片

3、打包
把classes目录文件打包成Jar包,并且命名成:wordcount.jar
使用命令行编写运行第一个hadoop程序_第3张图片
使用命令行编写运行第一个hadoop程序_第4张图片

二、将文件放到hadoop计算

1、启动hadoop
使用命令行编写运行第一个hadoop程序_第5张图片
2、将hadoop的测试文件README.txt放到hdfs,并且命名为redme.txt
在这里插入图片描述
这里要注意:不能写成 readme.txt,不然会报错: No such file or directory 解决方法
在这里插入图片描述
3、运行程序
/home/nancy/wordvount_01/wordcount.jar 是刚才打包的包
com.nancy.hadoop 是Java程序里边的类名
/readme.txt 输入的文件的文件夹
/output1 输出结果存放到这个文件夹
使用命令行编写运行第一个hadoop程序_第6张图片
4、结果查看
两种方式:去网站下载查看和使用命令行查看
4.1使用网页查看
打开网页:http://localhost:50070/
选择Utilities,刚才保存的结果是output1文件夹下,对应查找这个文件夹,可以看到结果在part-r-00000
使用命令行编写运行第一个hadoop程序_第7张图片

可以选择点击文件,下载查看结果
使用命令行编写运行第一个hadoop程序_第8张图片
4.2使用命令行查看结果
使用命令行编写运行第一个hadoop程序_第9张图片

你可能感兴趣的:(hadoop)