" uber模式"的目的是什么?在hadoop?

时间:2015-05-17 06:58:04

标签: hadoop mapreduce

嗨,我是一个大数据新手。我搜索了整个互联网,找到了什么是超级模式。我搜索的越多,我就越困惑。有人可以回答我的问题来帮助我吗?

  • 优步模式有什么作用?
  • 在mapred 1.x和2.x中它的工作方式是否有所不同?
  • 我在哪里可以找到它的设置?

4 个答案:

答案 0 :(得分:39)

Hadoop2中的UBER模式是什么?

通常,映射器和缩减器将由ResourceManager(RM)运行,RM将为mapper和reducer创建单独的容器。   Uber配置允许在与ApplicationMaster(AM)相同的进程中运行映射器和Reducer。

优步工作:

Uber作业是在MapReduce ApplicationMaster中执行的作业。而是与RM通信以创建映射器和reducer容器。    AM运行映射并在其自己的进程中减少任务,并避免启动和与远程容器通信的开销。

<强>为什么

如果您有一个小数据集,或者您希望在少量数据上运行MapReduce,Uber配置将通过减少MapReduce通常在mapper和reducers阶段花费的额外时间来帮助您。

我可以为所有MapReduce作业配置 Uber 吗?

截至目前, 仅限地图的工作和 支持具有一个减速器的作业。

答案 1 :(得分:10)

当组合多个映射器和缩减器以使用单个容器时,会发生Uber作业。 mapred-site.xml中有关Uber Jobs配置的四个核心设置。优步工作的配置选项:

  • mapreduce.job.ubertask.enable
  • mapreduce.job.ubertask.maxmaps
  • mapreduce.job.ubertask.maxreduces
  • mapreduce.job.ubertask.maxbytes

您可以在此处找到更多详细信息:http://docs.hortonworks.com/HDPDocuments/HDP2/HDP-2.1.15/bk_using-apache-hadoop/content/uber_jobs.html

答案 2 :(得分:4)

就hadoop2.x而言,Uber作业是在mapreduce ApplicationMaster中启动的作业,即没有为map和reduce作业创建单独的容器,因此保存了创建容器和与它们通信的开销。

就工作(与hadoop 1.x和2.x)而言,我认为只有在1.x和2.x的术语上才能观察到差异,在工作方面没有区别。
/> 配置参数与Navneet Kumar在他的回答中提到的相同。
PS:仅将其用于小型数据集。

答案 3 :(得分:2)

给出了很好的答案&#34;什么是优步模式?&#34; 只是为&#34;为什么添加更多信息?&#34;

应用程序主机决定如何运行生成的任务 MapReduce工作。如果作业很小,应用程序主机可以选择在与自身相同的JVM中运行任务。当它判断在新容器中分配和运行任务的开销超过并行运行它们的收益时,与在一个节点上顺序运行它们相比,就会发生这种情况。

现在,问题可以提出为&#34;什么是小工作?

默认情况下,一个小作业是一个少于10个映射器,只有一个reducer,且输入大小小于一个HDFS块的作业。