草庐IT

task-switching

全部标签

hadoop - slots、map tasks、data splits、Mapper的区别和关系

我浏览了一些hadoop信息书籍和论文。Slot是节点上的map/reduce计算单元。它可能是map或减少插槽。据我所知,split是HDFS中的一组文件block,它们具有一定的长度和存储它们的节点位置。映射器是类,但是当代码被实例化时,它被称为映射任务。我对吗?maptasks、datasplits和Mapper之间的区别和关系我不清楚。关于调度我的理解是,当节点的映射槽空闲时,如果映射任务要处理的数据是节点,则从未运行的映射任务中选择并启动映射任务。谁能用上面的概念解释清楚:slots,mapper和maptask等。谢谢,阿伦 最佳答案

Hadoop 作业客户端 : Error Reading task output

我正在尝试在我的集群上处理40GB的维基百科英文文章。问题是以下重复错误消息:13/04/2717:11:52INFOmapred.JobClient:TaskId:attempt_201304271659_0003_m_000046_0,Status:FAILEDToomanyfetch-failures13/04/2717:11:52WARNmapred.JobClient:Errorreadingtaskoutputhttp://ubuntu:50060/tasklog?plaintext=true&attemptid=attempt_201304271659_0003_m_00

hadoop - mapreduce.task.io.sort.mb 的最大值是多少?

当我设置mapreduce.task.io.sort.mb=100000时。出现以下异常。java.lang.Exception:java.io.IOException:Invalid"mapreduce.task.io.sort.mb":100000mapreduce.task.io.sort.mb的最大值是多少? 最佳答案 我知道这个问题很老了,但是对于那些提出相同问题的人,您可以查看有关此值被上限的一些错误http://docs.hortonworks.com/HDPDocuments/HDP2/HDP-2.1.3/bk_re

hadoop - pig 0.13 错误 2998 : Unhandled internal error. org/apache/hadoop/mapreduce/task/JobContextImpl

刚刚安装了Pig0.13,我正在尝试将它与Hadoop1.1.2一起使用。(Pig文档指出Pig0.13与Hadoop1.1.2兼容)。根据Pig安装说明,我设置了$PIG_CLASSPATH指向定义了core-site.xml、hdfs-site.xml和mapred-site.xml的/etc/hadoop。Hadoop集群功能正常,可以很好地处理非Pig作业。根据下面的错误描述,我了解到Pig无法找到它正在寻找的JobContextImpl类。根据Hadoop1.1.2API文档,我不认为“任务”是“mapreduce”包的子包。我尝试将hadoop-core-1.1.2.jar

map - 如何限制并发运行的 map task ?

我的hadoop版本是1.0.2。现在我最多同时运行10个maptask。我发现了2个与这个问题相关的变量。a)mapred.job.map.capacity但在我的hadoop版本中,这个参数似乎被放弃了。b)mapred.jobtracker.taskScheduler.maxRunningTasksPerJob(http://grepcode.com/file/repo1.maven.org/maven2/com.ning/metrics.collector/1.0.2/mapred-default.xml)我像下面这样设置这个变量:Configurationconf=newCo

scala - 如何在 Spark 中获取 map task 的 ID?

有没有办法在Spark中获取maptask的ID?例如,如果每个map任务调用一个用户定义函数,我能否从该用户定义函数中获取该map任务的ID? 最佳答案 我不确定您所说的maptaskID是什么意思,但您可以使用TaskContext访问任务信息:importorg.apache.spark.TaskContextsc.parallelize(Seq[Int](),4).mapPartitions(_=>{valctx=TaskContext.getvalstageId=ctx.stageIdvalpartId=ctx.parti

Hadoop Datanode、namenode、secondary-namenode、job-tracker 和 task-tracker

我是hadoop的新手,所以我有一些疑问。如果主节点发生故障,hadoop集群会发生什么?我们能否在没有任何损失的情况下恢复该节点?是否可以保留一个辅助主节点在当前主节点发生故障时自动切换为主节点?我们有namenode(Secondarynamenode)的备份,所以我们可以在Secondarynamenode发生故障时从中恢复namenode。这样,当datanode发生故障时,我们如何恢复datanode中的数据呢?Secondarynamenode只是namenode的备份而不是datenode,对吧?如果一个节点在作业完成之前发生故障,那么作业跟踪器中有待处理的作业,该作业是

hadoop - 如何修复 "Task attempt_201104251139_0295_r_000006_0 failed to report status for 600 seconds."

我编写了一个mapreduce作业来从数据集中提取一些信息。该数据集是用户对电影的评价。用户数约250K,电影数约300k。map的输出是*>and*>.在reducer中,我将处理这些对。但是当我运行作业时,mapper按预期完成,但reducer总是提示Taskattempt_*failedtoreportstatusfor600seconds.我知道这是由于无法更新状态,所以我添加了对context.progress()的调用在我的代码中是这样的:intcount=0;while(values.hasNext()){if(count++%100==0){context.progr

php - php 中有什么方法可以使 SWITCH 运算符严格比较大小写吗?

我有这样的控制结构:switch($var){caseTRUE:break;caseFALSE:break;caseNULL:break;}还有我的NULLcase永远不会被调用,因为正如我在php手册中发现的那样:Notethatswitch/casedoesloosecomparision.我知道我可以使用IF而不是SWITCH但我不想,我已经有一些了IF's在每个CASE我的SWITCH.有没有办法重写SWITCH还是使用一些技巧使其比较值严格? 最佳答案 是的,你可以做到switch(true){case$var===TRU

php - 在 switch 构造中调用和声明的函数会出错

我是PHP新手。好吧,我指的是引号可以在程序中的任何位置定义函数。以上语句适用于代码块1但不适用于代码块2。请解释一下?代码块1:代码块2: 最佳答案 理论上,是的,函数可以在“任何地方”定义。在实践中,有一个技巧。诀窍如下:当PHP读取和编译脚本的源代码时,它会查找函数定义,如果函数定义在全局上下文中(而不是在if、switch等内部),它将立即被定义。但是,如果它在这样的构造内部,或在另一个函数内部等,则只有当控制通过function()语句所在的行时,它才会被定义。因此,代码块1有效-因为函数在全局上下文中,所以PHP将在运行