hadoop创建java项目的步骤_Hadoop程序入门实践

本文档详细介绍了在Ubuntu系统上,使用Hadoop 2.7.1版本创建Java MapReduce项目的过程,包括创建目录、设置权限、下载文件、编译Java源码、创建jar包、启动Hadoop服务、拷贝数据到HDFS、运行MapReduce作业以及查看结果的完整步骤。
摘要由CSDN通过智能技术生成

问题陈述:

找出销往各个国家商品数量。

输入: 我们的畋输入数据集合是一个 CSV 文件, Sales2014.csv

前提条件:

本教程是在Linux上开发 - Ubuntu操作系统

已经安装了Hadoop(本教程使用版本2.7.1)

系统上已安装了Java(本教程使用 JDK1.8.0)。

在实际操作过程中,使用的用户是'hduser_“(此用户使用 Hadoop)。

yiibai@ubuntu:~$ su hduser_

步骤:

1.创建一个新的目录名称是:MapReduceTutorial

hduser_@ubuntu:~$ sudo mkdir MapReduceTuorial

授予权限

hduser_@ubuntu:~$ sudo chmod -R 777 MapReduceTutorial

下载相关文件:下载 Java 程序文件,拷贝以下文件:SalesMapper.java, SalesCountryReducer.java 和 SalesCountryDriver.java 到 MapReduceTutorial 目录中,

检查所有这些文件的文件权限是否正确:

2b1fdcc49ec383069c41ad30bf77c667.png

如果“读取”权限缺少可重新再授予权限,执行以下命令:

yiibai@ubuntu:/home/hduser_/MapReduceTutorial$ sudo chmod +r *

2.导出类路径

hduser_@ubuntu:~/MapReduceTutorial$ export CLASSPATH="$HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-client-core-2.7.1.jar:$HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-client-common-2.7.1.jar:$HADOOP_HOME/share/hadoop/common/hadoop-common-2.7.1.jar:~/MapReduceTutorial/SalesCountry/*:$HADOOP_HOME/lib/*"

hduser_@ubuntu:~/MapReduceTutorial$

3. 编译Java文件(这些文件存在于目录:Final-MapReduceHandsOn). 它的类文件将被放在包目录:

hduser_@ubuntu:~/MapReduceTutorial$ javac -d . SalesMapper.java SalesCountryReducer.java SalesCountryDriver.java

f69d49233b5f082a4275380ca31fbc07.png

安全地忽略此警告:

此编译将创建一个名称与Java源文件(在我们的例子即,SalesCountry)指定包名称的目录,并把所有编译的类文件在里面,因此这个目录要在编译文件前创建。

ffb0e957900b3cc3e9f52ea144803752.png

接下来:

创建一个新的文件:Manifest.txt

hduser_@ubuntu:~/MapReduceTutorial$ vi Manifest.txt

添加以下内容到文件中:

Main-Class: SalesCountry.SalesCountryDriver

SalesCountry.SalesCountryDriver 是主类的名称。请注意,必须键入回车键,在该行的末尾。

下一步:创建一个 jar 文件

hduser_@ubuntu:~/MapReduceTutorial$ $JAVA_HOME/bin/jar cfm ProductSalePerCountry.jar Manifest.txt SalesCountry/*.class

检查所创建的 jar 文件,结果如下:

308d6ed3c60b2a1176a7d29292a7b78d.png

6. 启动 Hadoop

hduser_@ubuntu:~$ $HADOOP_HOME/sbin/start-dfs.sh

hduser_@ubuntu:~$ $HADOOP_HOME/sbin/start-yarn.sh

4f0e121e14f0a1b16601ea9ac6af9821.png

7. 拷贝文件 Sales2014.csv 到~/inputMapReduce

hduser_@ubuntu:~$ mkdir inputMapReduce

hduser_@ubuntu:~$ cp MapReduceTutorial/Sales2014.csv ./inputMapReduce/Sales2014.csv

现在使用以下命令来拷贝 ~/inputMapReduce 到 HDFS.

hduser_@ubuntu:~$ $HADOOP_HOME/bin/hdfs dfs -copyFromLocal ~/inputMapReduce /

我们可以放心地忽略此警告。验证文件是否真正复制没有?

hduser_@ubuntu:~$ $HADOOP_HOME/bin/hdfs dfs -ls /inputMapReduce

8. 运行MapReduce 作业

hduser_@ubuntu:~$ $HADOOP_HOME/bin/hadoop jar ProductSalePerCountry.jar /inputMapReduce /mapreduce_output_sales

这将在 HDFS 上创建一个输出目录,名为mapreduce_output_sales。此目录的文件内容将包含每个国家的产品销售。

9. 结果可以通过命令界面中可以看到

hduser_@ubuntu:~$ $HADOOP_HOME/bin/hdfs dfs -cat /mapreduce_output_sales/part-00000

结果也可以通过 Web 界面看到,打开 Web 浏览器,输入网址:http://localhost:50070/dfshealth.jsp ,结果如下:

c34c59727d37887356f1752661b57fdb.png

现在选择 'Browse the filesystem' 并导航到 /mapreduce_output_sales 如下:

0133e2b7acf156c592d6785803137b6e.png

打开 part-r-00000 ,如下图所示:

e71b06c4e262db8b66a1219471e1ddd1.png

下载后,查看结果内容。

¥ 我要打赏

纠错/补充

收藏

加QQ群啦,易百教程官方技术学习群

注意:建议每个人选自己的技术方向加群,同一个QQ最多限加 3 个群。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值