草庐IT

hadoop - map task 是否并行读取其输入数据?

假设HDFS的复制因子是3,那么对于一个map任务,有三个节点保存它的输入数据。map任务是从所有3个节点并行读取还是随机选择其中一个?我做了一些实验,我将其中一个数据节点设置为具有非常低的带宽并获得一些非常慢的maptask,所以我猜maptask不会并行读取所有可用的数据节点,我是对的?感谢您的帮助! 最佳答案 如果您的复制因子是3,则集群中有三个节点保存特定映射任务的输入数据。JobTracker只会将map任务分配给这三个节点中的一个,因此它只会从该节点读取数据。Hadoop具有称为推测执行的功能。在推测执行中,如果JobT

java - 如何从 Java 关闭 hadoop 推测执行

看完Hadoopspeculativetaskexecution我正在尝试使用新的Javaapi关闭推测执行,但它没有任何效果。这是我的主类:publicclassMain{publicstaticvoidmain(String[]args)throwsException{Configurationconf=newConfiguration();//oldapi://conf.setBoolean("mapred.map.tasks.speculative.execution",false);//newapi:conf.setBoolean("mapreduce.map.specula

java - 如何在eclipse中关闭hadoop源代码中的推测执行

我需要在hadoop源代码中关闭它,而我在eclipse中找不到它的包。https://hadoop.apache.org/docs/stable/api/org/apache/hadoop/mapreduce/Job.html#setReduceSpeculativeExecution%28boolean%29 最佳答案 如果您想禁用推测执行,请在mapred-site.xml中添加这些属性。mapreduce.map.speculativefalsemapreduce.reduce.speculativefalse或者在Job级

ios - 在这个 "starts busy"推测处理场景中使用 DispatchSemaphore

想象一个屏幕S。用户到达S,看东西。有一个按钮B...|||B|||||当你按下B..funcclickedB(){blockingSpinner=truelongCalculation()blockingSpinner=falseshowResult()}funclongCalculation(){//afewseconds}(我们希望用户只是等待,看到模态微调器,如果/当计算正在进行时。)通常,当用户到达屏幕S时,他们会先看其他东西几秒钟,然后再触摸B。所以...varwaitor=DispatchSemaphore(value:0)//or???funcviewDidLoad()

C++0x 内存模型和推测加载/存储

所以我正在阅读有关即将推出的C++0x标准的一部分的内存模型。但是,对于允许编译器执行的一些限制,特别是关于推测性加载和存储的一些限制,我有点困惑。首先,一些相关的东西:HansBoehm'spagesaboutthreadsandthememorymodelinC++0xBoehm,"ThreadsCannotbeImplementedasaLibrary"BoehmandAdve,"FoundationsoftheC++ConcurrencyMemoryModel"Sutter,"Prism:APrinciple-BasedSequentialMemoryModelforMicro

C++0x 内存模型和推测加载/存储

所以我正在阅读有关即将推出的C++0x标准的一部分的内存模型。但是,对于允许编译器执行的一些限制,特别是关于推测性加载和存储的一些限制,我有点困惑。首先,一些相关的东西:HansBoehm'spagesaboutthreadsandthememorymodelinC++0xBoehm,"ThreadsCannotbeImplementedasaLibrary"BoehmandAdve,"FoundationsoftheC++ConcurrencyMemoryModel"Sutter,"Prism:APrinciple-BasedSequentialMemoryModelforMicro

hadoop - 推测执行 Hadoop

我正在yahoo(https://developer.yahoo.com/hadoop/tutorial/module4.html)研究这个hadoop模块,我正在阅读推测执行部分。我的问题是,因为根据模块,因为推测执行而放弃的任务和丢弃的输出将去哪里因为根据雅虎,“如果其他副本正在推测性地执行,Hadoop会告诉TaskTrackers放弃任务并丢弃它们的输出” 最佳答案 尽管没有明确说明,但丢弃已放弃的任务意味着从已终止的任务中释放资源(内存和cpu内核)并释放磁盘空间(删除磁盘上的输出)。如果您使用的是YARN,节点管理器将释

hadoop - 有没有办法为 Hadoop 中的推测执行配置超时?

我有hadoop作业,其中的任务预计会运行很长时间(几分钟)。然而,hadoop过早地开始推测执行。我不想完全关闭推测执行,但我想增加hadoop在考虑作业进行推测执行之前等待的持续时间。是否有控制此超时的配置选项?谢谢 最佳答案 我认为推测执行时间目前不可配置。另一方面,可能没有必要调整它。推测执行旨在帮助您摆脱运行缓慢的任务(通常是由于硬件性能下降)。如果您有可用的集群资源,那么specexec正在启动,那么让它这样做有什么害处?请注意,分钟数不被认为是“重要的”,对于中型或大型作业而言,分钟数多于正常值。同样值得注意的是,虽然

hadoop - Hadoop 中的推测任务

hadoop中的新任务总是比推测任务具有更高的优先级。谁能告诉我如何以及在何处更改此优先级? 最佳答案 HadoopSpeculator使用Estimator来估计任务的运行时间。控制推测执行的主要配置参数之一是:mapreduce.job.speculative.slowtaskthreshold(在mapred-site.xml中定义,默认设置为1.0).这个参数的定义说:Thenumberofstandarddeviationsbywhichatask'saveprogress-ratesmustbelowerthanthea

hadoop - Sqoop 推测执行

我在Sqoop中有以下问题?我很好奇我们是否可以为sqoop导入/导出作业设置关闭/打开推测执行。而且我们还可以选择在sqoop导入/导出过程中设置reducer的数量。根据我的分析,sqoop不需要任何reducer,但不确定我是否正确。请纠正我这一点。我已经将sqoop与mysql、oracle以及除上述之外我们还可以使用的其他数据库一起使用。谢谢 最佳答案 1)在sqoop中,默认情况下推测执行是关闭的,因为如果多个映射器为单个任务运行,我们会在HDFS中得到重复的数据。因此,为了避免这种衰减,它被关闭了。2)sqoop作业的