远程提交Map/Reduce任务

简介: 1. 将开发好MR代码打包成jar。添加到distributed cache中。 Xml代码  bin/hadoop fs -copyFromLocal /root/stat-analysis-mapred-1.

1. 将开发好MR代码打包成jar。添加到distributed cache中。

 

Xml代码 复制代码  收藏代码
  1. bin/hadoop fs -copyFromLocal /root/stat-analysis-mapred-1.0-SNAPSHOT.jar /user/root/lib  
bin/hadoop fs -copyFromLocal /root/stat-analysis-mapred-1.0-SNAPSHOT.jar /user/root/lib

 

2.  在服务器端创建和你客户端一模一样的用户。创建目录 /tmp/hadoop-root/stagging/用户 

 

3.  客户端提交job的代码

 

Java代码 复制代码  收藏代码
  1. Configuration conf = HBaseConfiguration.create();   
  2.         conf.set("hbase.zookeeper.quorum""node.tracker1");   
  3.         conf.set("fs.default.name""hdfs://node.tracker1:9000/hbase");   
  4.         conf.set("mapred.job.tracker""node.tracker1:9001");   
  5.           
  6.         Job job = new Job(conf, "Hbase_FreqCounter1");   
  7.          
  8.         job.setJarByClass(FreqCounter1.class);   
  9.         Scan scan = new Scan();   
  10.         String columns = "details"// comma seperated   
  11.         scan.addFamily(Bytes.toBytes(columns));   
  12.         scan.setFilter(new FirstKeyOnlyFilter());   
  13.         TableMapReduceUtil.initTableMapperJob("access_logs", scan, Mapper1.class, ImmutableBytesWritable.class,   
  14.                 IntWritable.class, job);   
  15.         TableMapReduceUtil.initTableReducerJob("summary_user", Reducer1.class, job);   
  16. /           TableMapReduceUtil.addDependencyJars(job);   
  17.            
  18.         DistributedCache.addFileToClassPath(new Path("hdfs://node.tracker1:9000/user/root/lib/stat-analysis-mapred-1.0-SNAPSHOT.jar"),job.getConfiguration());   
  19.         job.submit();  
	Configuration conf = HBaseConfiguration.create();
	        conf.set("hbase.zookeeper.quorum", "node.tracker1");
	        conf.set("fs.default.name", "hdfs://node.tracker1:9000/hbase");
	        conf.set("mapred.job.tracker", "node.tracker1:9001");
	       
	        Job job = new Job(conf, "Hbase_FreqCounter1");
	      
	        job.setJarByClass(FreqCounter1.class);
	        Scan scan = new Scan();
	        String columns = "details"; // comma seperated
	        scan.addFamily(Bytes.toBytes(columns));
	        scan.setFilter(new FirstKeyOnlyFilter());
	        TableMapReduceUtil.initTableMapperJob("access_logs", scan, Mapper1.class, ImmutableBytesWritable.class,
	                IntWritable.class, job);
	        TableMapReduceUtil.initTableReducerJob("summary_user", Reducer1.class, job);
//	        TableMapReduceUtil.addDependencyJars(job);
	        
	        DistributedCache.addFileToClassPath(new Path("hdfs://node.tracker1:9000/user/root/lib/stat-analysis-mapred-1.0-SNAPSHOT.jar"),job.getConfiguration());
	        job.submit();
 

 

4.运行java application,登陆node的MR管理页面,可以看到


相关实践学习
lindorm多模间数据无缝流转
展现了Lindorm多模融合能力——用kafka API写入,无缝流转在各引擎内进行数据存储和计算的实验。
云数据库HBase版使用教程
  相关的阿里云产品:云数据库 HBase 版 面向大数据领域的一站式NoSQL服务,100%兼容开源HBase并深度扩展,支持海量数据下的实时存储、高并发吞吐、轻SQL分析、全文检索、时序时空查询等能力,是风控、推荐、广告、物联网、车联网、Feeds流、数据大屏等场景首选数据库,是为淘宝、支付宝、菜鸟等众多阿里核心业务提供关键支撑的数据库。 了解产品详情: https://cn.aliyun.com/product/hbase   ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
目录
相关文章
|
6月前
|
JavaScript 前端开发
解释 JavaScript 中的`map()`、`filter()`和`reduce()`方法的用途。
解释 JavaScript 中的`map()`、`filter()`和`reduce()`方法的用途。
64 1
|
6月前
|
开发者 Python
Python中的函数式编程:理解map、filter和reduce
【2月更文挑战第13天】 本文深入探讨了Python中函数式编程的三个主要工具:map、filter和reduce。我们将详细解释这些函数的工作原理,并通过实例来展示它们如何使代码更简洁、更易读。我们还将讨论一些常见的误解和陷阱,以及如何避免它们。无论你是Python新手还是有经验的开发者,本文都将帮助你更好地理解和使用这些强大的函数。
|
6月前
|
分布式计算 JavaScript 前端开发
JS中数组22种常用API总结,slice、splice、map、reduce、shift、filter、indexOf......
JS中数组22种常用API总结,slice、splice、map、reduce、shift、filter、indexOf......
|
2月前
|
索引
ES5常见的数组方法:forEach ,map ,filter ,some ,every ,reduce (除了forEach,其他都有回调,都有return)
ES5常见的数组方法:forEach ,map ,filter ,some ,every ,reduce (除了forEach,其他都有回调,都有return)
|
5月前
|
Python
高阶函数如`map`, `filter`, `reduce`和`functools.partial`在Python中用于函数操作
【6月更文挑战第20天】高阶函数如`map`, `filter`, `reduce`和`functools.partial`在Python中用于函数操作。装饰器如`@timer`接收或返回函数,用于扩展功能,如记录执行时间。`timer`装饰器通过包裹函数并计算执行间隙展示时间消耗,如`my_function(2)`执行耗时2秒。
34 3
|
2月前
|
JavaScript 前端开发
js map和reduce
js map和reduce
|
4月前
|
人工智能 算法 大数据
算法金 | 推导式、生成器、向量化、map、filter、reduce、itertools,再见 for 循环
这篇内容介绍了编程中避免使用 for 循环的一些方法,特别是针对 Python 语言。它强调了 for 循环在处理大数据或复杂逻辑时可能导致的性能、可读性和复杂度问题。
51 6
算法金 | 推导式、生成器、向量化、map、filter、reduce、itertools,再见 for 循环
|
3月前
|
分布式计算 Python
【python笔记】高阶函数map、filter、reduce
【python笔记】高阶函数map、filter、reduce
|
4月前
|
JavaScript API
js【最佳实践】遍历数组的八种方法(含数组遍历 API 的对比)for,forEach,for of,map,filter,reduce,every,some
js【最佳实践】遍历数组的八种方法(含数组遍历 API 的对比)for,forEach,for of,map,filter,reduce,every,some
77 1
|
5月前
|
Python
在Python中,`map()`, `filter()` 和 `reduce()` 是函数式编程中的三个核心高阶函数。
【6月更文挑战第24天】Python的`map()`应用函数到序列元素,返回新序列;`filter()`筛选满足条件的元素,生成新序列;`reduce()`累计操作序列元素,返回单一结果。
38 3