执行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
|
从本地文件系统(或任何指定模式的文件系统)复制指 定< |