立即注册 登录
About云-梭伦科技 返回首页

sstutu的个人空间 https://www.aboutyun.com/?70 [收藏] [复制] [分享] [RSS]

日志

执行mapreduce的几种方式总结

热度 1已有 841 次阅读2014-6-9 16:10

执行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插件
也就是我们所说的开发模式

路过

雷人

握手

鲜花

鸡蛋

发表评论 评论 (1 个评论)

回复 Landau 2014-6-19 09:56
沙发,好文,收藏了!!!沙发,好文,收藏了!!!沙发,好文,收藏了!!!

facelist doodle 涂鸦板

您需要登录后才可以评论 登录 | 立即注册

关闭

推荐上一条 /2 下一条