执行mapreduce的几种方式

本文介绍了执行MapReduce的多种方法,包括直接通过命令行执行jar文件,使用ToolRunner,以及通过Eclipse插件的方式。详细讲解了如何处理引用的第三方jar,如使用-libjars参数,配置conf设置,利用分布式缓存,以及将所有代码打包到一个jar中等策略。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


执行mapreduce的几种方式
1、copy jar到hadoop中执行
           ./hadoop jar  xxxx.jar mainclass
          ./hadoop jar -libjars xxx.jar    /home/test/xxx.jar  
    对于引用的第三方jar,该如何处理??
         a、通过命令行参数传递jar文件,如-libjars等
       b、直接在conf中设置,如conf.set(“tmpjars”,*.jar),jar文件用逗号隔开
       c、利用分布式缓存,如DistributedCache.addArchiveToClassPath(path, job),此处的path必须是hdfs,即自    己讲jar上传到hdfs上,然后将路径加入到分布式缓存中,本质是一样的;
       d、第三方jar文件和自己的程序打包到一个jar文件中,程序通过job.setJar(xxxx.jar)将获得整个文件并将其传至hdfs上。
       e、拷贝到hadoop/lib目录下,参见D:\learning\准备材料17\mapreduce\
2、ToolRunner
        ./hadoop  ToolRunnerImpl [options]
      
-libjars jar1,jar2

从本地文件系统(或任何指定模式的文件系统)复制指

JAR文件到被jobtracker 使用的共享文件系统

(通常是HDFS),把它们加入MapReduce任务的类路

径中。这个选项适用于传输作业需要的JAR文件

-D property=value

将指定值赋值给确定的Hadoop配置属性。

覆盖配置文件里的默认属性或站点属性,

或通过-conf选项设置的任何属

-conf filename ...

将指定文件添加到配置的资源列表中。

这是设置站点属性或同时设置一组属性的简便方法

-fs uri

用指定的URI设置默认文件系统。这是

-D fs.default.name=uri的快捷方式

-files file1,file2,...

从本地文件系统(或任何指定模式的文件系统)

中复制指定文件到jobtracker所用的共享文件

系统(通常是HDFS),确保在任务工作目录的

MapReduce程序可以访问这些文件(要想进一步

了解如何复制文件到tasktracker机器的分布式缓

存机制,请参见第253页的“分布式缓存”小节)

-archives
archive1,archive2,..

从本地文件系统(或任何指定模式的文件系统)

复制指定存档到jobtracker所用的共享文件系统

(通常是HDFS),打开存档文件,确保任务工作

目录的MapReduce程序可以访问这些存档

3、eclipse插件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值