[MapReduce程序编写运行打包 ]

这篇具有很好参考价值的文章主要介绍了[MapReduce程序编写运行打包 ]。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

🍀🍁前言:

🍀🍁编写MapReduce程序

🍀🍁代码中提交作业示意。

🍀🍁打包MapReduce程序

🍀🍁使用Eclipse打包MapReduce程序

🍀🍁使用Maven打包MapReduce程序

在pom.xml文件中,添加以下插件配置:

🍀🍁打包第三种方式:

🍀🍁部署MapReduce程序

🍀🍁可以使用hadoop fs命令或者Hadoop Web UI来完成上传操作。具体来说,我们可以使用以下命令将jar包上传到Hadoop集群中:

🍀🍁在Hadoop集群中,我们需要配置MapReduce作业的参数,包括输入路径、输出路径、Mapper类、Reducer类等。可以使用hadoop命令或者Hadoop Web UI来完成配置操作。具体来说,我们可以使用以下命令来配置MapReduce作业的参数:

🍀🍁在配置好MapReduce作业的参数后,我们可以使用hadoop命令来提交作业。具体来说,我们可以使用以下命令来提交MapReduce作业:

🍀🍁运行MapReduce程序

🍀🍁使用hadoop命令来提交MapReduce作业,命令格式如下:

🍀🍁监控MapReduce作业

🍀🍁要监控MapReduce作业,可以通过配置Hadoop的日志和监控系统来实现。以下是一些常用的监控配置:


🍀🍁前言:

  记录笔记

🍀🍁编写MapReduce程序

首先,我们需要编写MapReduce程序,包括Mapper类、Reducer类、Driver类等。Mapper类和Reducer类分别用于处理输入数据集中的每个记录和对输出键值对进行合并,而Driver类则用于设置MapReduce作业的相关参数,

🍀🍁代码中提交作业示意。

Job job = new Job(new Configuration());
job.setJarByClass(DataFilterJob.driver.class); // 配置job运行的hdfs程序包
job.setMapperClass(DataFilterMapper.class); // 配置map任务对应mapper写类作业
job.setOutputKeyClass(Text.class); // 配置输出key类型
job.setOutputValueClass(Text.class);// 配置输出value类型
FileInputFormat.addInputPath(job,new Path(args[0])); // 配置map任务输入格式,输入文件、路径
FileOutputFormat.setOutputPath(job,new Path(args[1])); // 最终转换后文件输出路径
job.setNumReduceTasks(0); 替代删掉某个刀任务
System.exit(job.waitForCompletion(true) ? 0 : 1); // 提交与job时提交各个map的任务
 

🍀🍁打包MapReduce程序

将编写好的MapReduce程序打包成一个jar包,包括所有的依赖库和配置文件。

打包MapReduce程序可以使用Eclipse或者Maven等工具来完成。以下是两种常用的打包方式:

🍀🍁使用Eclipse打包MapReduce程序

在Eclipse中,我们可以使用Export功能将MapReduce程序打包成一个可执行的jar包。具体步骤如下:

  • 在Eclipse中,选择File -> Export -> Runnable JAR file。
  • 在弹出的对话框中,选择要导出的Java类和主函数,并选择要导出的jar包的路径和名称。
  • 在Library handling选项中,选择Extract required libraries into generated JAR,然后点击Finish按钮。

这样,Eclipse就会将MapReduce程序及其依赖库打包成一个可执行的jar包。

🍀🍁使用Maven打包MapReduce程序

在Maven中,我们可以使用Maven插件将MapReduce程序打包成一个可执行的jar包。具体步骤如下:

  • 在pom.xml文件中,添加以下插件配置:
<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-assembly-plugin</artifactId>
            <version>3.3.0</version>
            <configuration>
                <archive>
                    <manifest>
                        <mainClass>com.example.Driver</mainClass>
                    </manifest>
                </archive>
                <descriptorRefs>
                    <descriptorRef>jar-with-dependencies</descriptorRef>
                </descriptorRefs>
            </configuration>
            <executions>
                <execution>
                    <id>make-assembly</id>
                    <phase>package</phase>
                    <goals>
                        <goal>single</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>
🍀🍁打包第三种方式:

打包MapReduce程序通常使用Maven或其他打包工具,可以将程序打包成一个可执行的JAR文件,其中包括所有依赖的库和配置文件。打包程序的过程通常包括以下几个步骤:

  1. 编写MapReduce程序:使用Java编写MapReduce程序,包括Mapper、Reducer和Job任务类,实现对大规模数据集进行处理,例如去重、过滤、格式转换等操作。

  2. 配置Maven:如果使用Maven打包程序,需要在项目的pom.xml文件中添加相关配置,包括设置项目名称、版本号、依赖库等信息。例如,添加以下配置:

<project>
  <groupId>com.example</groupId>
  <artifactId>myprogram</artifactId>
  <version>1.0-SNAPSHOT</version>
  <dependencies>
    <!-- 添加Hadoop依赖库 -->
    <dependency>
      <groupId>org.apache.hadoop</groupId>
      <artifactId>hadoop-core</artifactId>
      <version>2.7.3</version>
    </dependency>
  </dependencies>
</project>

打包程序:使用Maven命令或其他打包工具将程序打包成一个可执行的JAR文件。例如,使用Maven命令打包程序:

 

mvn clean package

  1. 执行该命令后,Maven将会自动下载相关的依赖库,并将程序打包成名为“myprogram.jar”的JAR文件。

  2. 运行MapReduce作业:将打包好的JAR文件上传到Hadoop集群中,并使用Hadoop提供的工具类提交MapReduce作业。例如,如下命令提交MapReduce作业:

  3. hadoop jar myprogram.jar input output

  • 其中,“myprogram.jar”是MapReduce程序打包后的JAR文件,“input”是需要处理的数据所在的路径,“output”是处理结果保存的路径。

总的来说,打包MapReduce程序可以使用Maven或其他打包工具,将程序打包成一个可执行的JAR文件,并上传到Hadoop集群中进行运行。

 

🍀🍁部署MapReduce程序

将打包好的MapReduce程序部署到Hadoop集群中,包括上传jar包和配置文件等。

🍀🍁可以使用hadoop fs命令或者Hadoop Web UI来完成上传操作。具体来说,我们可以使用以下命令将jar包上传到Hadoop集群中:
hadoop fs -put /path/to/your/jarfile.jar /user/hadoop/

  • 其中,/path/to/your/jarfile.jar是jar包的本地路径,/user/hadoop/是Hadoop集群中的目标路径。
🍀🍁在Hadoop集群中,我们需要配置MapReduce作业的参数,包括输入路径、输出路径、Mapper类、Reducer类等。可以使用hadoop命令或者Hadoop Web UI来完成配置操作。具体来说,我们可以使用以下命令来配置MapReduce作业的参数:
hadoop jar /path/to/your/jarfile.jar com.example.Driver input output
  • 其中,/path/to/your/jarfile.jar是jar包的路径,com.example.Driver是Driver类的完整类名,input是输入路径,output是输出路径。
🍀🍁在配置好MapReduce作业的参数后,我们可以使用hadoop命令来提交作业。具体来说,我们可以使用以下命令来提交MapReduce作业:
hadoop jar /path/to/your/jarfile.jar com.example.Driver input output
  • 其中,/path/to/your/jarfile.jar是jar包的路径,com.example.Driver是Driver类的完整类名,input是输入路径,output是输出路径。

🍀🍁运行MapReduce程序

在Hadoop集群中,使用hadoop命令来运行MapReduce程序。具体来说,我们需要指定MapReduce作业的输入路径、输出路径、Mapper类、Reducer类等参数,然后提交作业。在作业提交后,Hadoop集群会自动分配计算资源,启动MapReduce作业,并将作业的执行进度和结果输出到控制台或日志文件中。

🍀🍁使用hadoop命令来提交MapReduce作业,命令格式如下:
hadoop jar <JAR文件路径> <主类名> <输入路径> <输出路径>

 
$ hadoop jar myMapReduce.jar <input_path> <output_path>
  • 其中,JAR文件路径是指上传到Hadoop集群中的JAR文件的路径;主类名是指MapReduce程序中的主类名;输入路径是指输入数据的路径;输出路径是指输出结果的路径。

执行hadoop命令后,Hadoop会自动启动MapReduce作业,并将作业分配给集群中的节点进行处理。

在作业完成后,可以使用hadoop fs命令来查看输出结果,命令格式如下:

hadoop fs -cat <输出路径>
  • 其中,输出路径是指MapReduce作业的输出路径。

例如,假设我们已经将MapReduce程序打包成Test.jar,上传到Hadoop集群/home/hadoop/test/目录下,作业配置文件为test.xml,输入路径为/home/hadoop/input/,输出路径为/home/hadoop/output/,则运行命令应如下:

 

hadoop jar /home/hadoop/test/Test.jar com.test.TestJob /home/hadoop/test/test.xml /home/hadoop/input/ /home/hadoop/output/


 

🍀🍁监控MapReduce作业

在MapReduce作业运行过程中,我们可以使用Hadoop集群提供的监控工具来监控作业的执行进度和状态,例如使用hadoop job命令来查看作业的状态和日志信息,使用Hadoop Web UI来查看作业的进度和统计信息等。

🍀🍁要监控MapReduce作业,可以通过配置Hadoop的日志和监控系统来实现。以下是一些常用的监控配置:
  1.  配置Hadoop日志:Hadoop会记录作业的运行日志,包括作业的启动、运行和完成情况。可以通过修改Hadoop的日志配置文件来控制日志的输出级别和格式。日志配置文件位于Hadoop的conf目录下,文件名为log4j.properties。
  2. 配置Hadoop Metrics:Hadoop Metrics是Hadoop的监控系统,可以用来监控Hadoop集群的运行情况。可以通过修改Hadoop的Metrics配置文件来控制Metrics的输出级别和格式。Metrics配置文件位于Hadoop的conf目录下,文件名为hadoop-metrics.properties。
  3. 使用Hadoop Job History Server:Hadoop Job History Server是Hadoop的作业历史记录服务器,可以用来查看作业的历史记录和统计信息。可以通过启动Job History Server来记录作业的历史记录。启动Job History Server的命令为:
mapred historyserver

使用Hadoop Web UI:Hadoop Web UI是Hadoop的Web界面,可以用来查看集群的运行情况和作业的状态。可以通过访问Hadoop Web UI来查看作业的状态和统计信息。Hadoop Web UI的地址为http://<Hadoop集群的主节点>:8088。 

通过上述步骤,我们可以将MapReduce程序部署到Hadoop集群中,并使用Hadoop集群提供的计算资源来运行程序,从而实现对大规模数据集的处理和分析。文章来源地址https://www.toymoban.com/news/detail-507675.html

到了这里,关于[MapReduce程序编写运行打包 ]的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • python编写小程序有界面,python编写小程序的运行

    大家好,小编为大家解答python编写小程序怎么看代码的的问题。很多人还不知道python编写小程序的运行,现在让我们一起来看看吧!   Python第一个简单的小游戏 temp = input(\\\"请猜一猜姐姐的幸运数字是: \\\") guess = int(temp) if guess == 6: # 此处是需要使用双等号,表示等于,若使用单

    2024年02月14日
    浏览(50)
  • python编写小程序小游戏,python编写小程序的运行

    本篇文章给大家谈谈python编写小程序需要注意的地方,以及python编写小程序怎么看代码的,希望对各位有所帮助,不要忘了收藏本站喔。 Source code download: 本文相关源码 python可以开发小程序吗 谷歌人工智能写作项目:小发猫 用python可以做微信小程序吗? 其实微信小程序作为

    2024年03月12日
    浏览(49)
  • 使用vscode编写、运行Python程序

    vscode是一个代码编辑器,支持win10、Ubuntu等多种主流操作系统。vscode中有很多实用的拓展工具,借助这些工具,可以很方便地完成代码编写、调试、运行、版本管理。 vscode的下载地址为:https://code.visualstudio.com/Download,界面如下: 在下载界面中, 根据你的操作系统,选择不同

    2024年02月04日
    浏览(48)
  • 小插曲 -- 使用Linux编写 判断程序是否在运行的小程序

    首先,在执行“ps -elf |grep xxx”时,如果xxx存在,通常会有两条结果,一个是xxx对应的PID,一个则是grep对应的PID,但是如果 我希望执行命令后,xxx存在就只有xxx对应的PID,不存在就什么都不显示的话 ,可以将指令修改成:“ ps -elf |grep XXX|grep -v grep ”,这样就可以屏蔽显示

    2024年02月07日
    浏览(48)
  • 在Ubuntu里编写并运行一个程序的完整流程

    新建一个文件(以 hello.cpp 文件为例)的方法。 ①用vim编辑器的方法。 (前提是需要先装vim编辑器, 安装方法是在终端输入 sudo apt-get install vim ,再输入Y)      首先输入 vim  hello.cpp,进入下图命令模式状态  然后在键盘上输入字母 i ,得到如下图。注意左下角有( --INSE

    2024年02月07日
    浏览(46)
  • C#入门:编写运行第一个C#程序Helloworld

    参考链接: C#入门学习-希里安 在官网下载安装Professional 2022即可. https://visualstudio.microsoft.com/zh-hans/ 下载时选择C#、.Net框架等支持,安装后运行,新建模板选择 Visual C#、Window环境、新建Console控制台应用,为项目命名Helloworld。 下文代码基于菜鸟教程改编。其中,Console.WriteLi

    2024年02月06日
    浏览(47)
  • VS2019打包程序安装后无法运行

    C#实践 问题:做Winform项目,用VS2019打包程序,安装后无法运行。 现象1: 应用程序: xxxx.exe Framework 版本: v4.0.30319 说明: 由于未经处理的异常,进程终止。 异常信息: System.FormatException 在 System.Number.StringToNumber(System.String, System.Globalization.NumberStyles, NumberBuffer ByRef, System.Globalizat

    2024年02月04日
    浏览(42)
  • 【SpringBoot】一文掌握程序的打包与运行

    🌕博客x主页:己不由心王道长🌕! 🌎文章说明:SpringBoot关于程序的打包和运行🌎 ✅系列专栏:spring 🌴本篇内容:基于Windows对程序进行打包和运行🌴 ☕️每日一语:世上有很多不可能,不过不要在你未尽全力之前下结论。☕️ 🕤作者详情:作者是一名双非大三在校生,

    2024年02月05日
    浏览(32)
  • 使用Visual C++ 2010编写运行第一个C++程序

    本文主要介绍Visualc++ 2010学习版的操作界面,创建一个Win32控制台项目,编写并运行自己的第一个C++程序。主要包括以下几个方面: Visual C++ 2010概述 Visual C++ 2010下载安装 Visual C++ 2010操作界面 创建Win32控制台项目 编写C++程序 运行程序 本文使用的软件版本: Windows 10 Visual C++

    2024年02月05日
    浏览(57)
  • Unity+EasyAR 运行第一个程序以及打包

    Unity2020.1.0f1 + EasyARSenseUnityPlugin_4.5.0 1、首先,先要在EasyAR官网上注册一个账号,方便稍后创建许可秘钥 2、打开Unity,导入之前下载好的EasyARSense,详细操作可以查看我之前写的一篇文章(Unity导入EasyARSense) 导入EasyARSense之后,在项目左下角Project——Assets——Samples中,可以看

    2023年04月08日
    浏览(34)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包