草庐IT

reduce_dim

全部标签

hadoop - 在 hadoop map reduces 中调试失败的洗牌

我看到随着输入文件大小的增加,失败的洗牌次数增加,作业完成时间呈非线性增加。例如。75GBtook1h86GBtook5h我还看到平均洗牌时间增加了10倍例如。75GB4min85GB41min有人能给我指明调试的方向吗? 最佳答案 只要您确定您的算法是正确的,在75Gb阈值之后的某处可能会出现自动硬盘卷分区或碎片问题,因为您可能正在使用相同的文件系统来缓存结果。 关于hadoop-在hadoopmapreduces中调试失败的洗牌,我们在StackOverflow上找到一个类似的问题:

Hadoop reducer 超时

我的reducer由于某种原因超时。我尝试-Dmapred.task.timeout来更改超时,但超时值似乎没有改变。此外,我无法通过命令行配置映射器和缩减器的数量。我的日志似乎很清楚,tasktracker超时。我确实调用了外部Web服务,但这不是超时的原因。如果输入文件中的数据点数量减少,我不会经常看到这些超时。 最佳答案 在mapred-site.xml中调整mapred.task.timeout(值为毫秒)。确保在所有节点(jobtracker+tasktrackers)上更新并重启jobtracker和所有tasktrac

apache - Map Reduce 中的 Map Reduce

我使用Hadoop开发Map/Reduce。我的驱动程序向Hadoop的作业跟踪器提交一个MapReduce作业(带有一个Map和Reduce任务)。我有两个问题:a)我的Map或reduce任务可以提交另一个MapReduce作业吗?(具有相同的Hadoop集群和相同的JobTracker)。这意味着,我的开始驱动程序提交一个mapreduce作业,其中它的map或reduce任务产生另一个MapReduce作业,并将其提交到同一个集群Hadoop和同一个JobTracker。我认为这是可能的。但我不确定。而且,它有什么好的解决办法吗?如果没有,我们可以有其他解决方案吗?b)我们可以

hadoop - map->map->reduce->reduce->最终输出

最近我读了一篇论文,提出了从DNA数据中挖掘最大连续模式的算法。提议的方法听起来很有趣,它使用了以下MapReduce模型。map->map->减少->减少。也就是说,执行第一个映射阶段并将其输出输入到第二个阶段映射。第二阶段映射的输出是第一阶段减少的输入。第一阶段reduce的输出作为第二阶段reduce的输入,最后将结果flush到HDFS中。尽管这似乎是一种有趣的方法,但该论文并未提及他们是如何实现的。我的问题是,您如何实现这种MapReduce链接? 最佳答案 据我所知,在Hadoop中,您目前无法执行此操作。一种方法是使用

hadoop - 你如何在 map/reduce 中实现排名和排序?

我正在学习Hadoop中的Javamap/reduceAPI,并试图全神贯注地思考map/reduce。这是我针对apachehttp服务器日志文件编写的示例程序,它有两个阶段(每个阶段都作为M/R作业实现,然后链接在一起):统计每个IP访问服务器的次数查找前5个IP地址(请求最多)阶段1看起来很简单,它是map/reduce中的一个简单计数实现,它发出如下内容:192.168.0.2410.0.0.27127.0.0.13...etc此输出将提供给第二个映射/归约作业的映射器。现在我对如何以并行方式实现前5名感到困惑。由于reducer本质上是顺序的,我猜只有一个reducer与完整

java - 如何在 map-reduce 中读取多个图像文件作为 hdfs 的输入?

privatestaticString[]testFiles=newString[]{"img01.JPG","img02.JPG","img03.JPG","img04.JPG","img06.JPG","img07.JPG","img05.JPG"};//privatestaticStringtestFilespath="/home/student/Desktop/images";privatestaticStringtestFilespath="hdfs://localhost:54310/user/root/images";//privatestaticStringindexp

hadoop - 如何调试挂起的 hadoop map-reduce 作业

我运行MRJob,MapPhase运行成功,但ReducePhase符合33%并挂起(挂起约1小时)状态:“reduce>sort”我如何调试它? 最佳答案 这可能与您的情况无关,但我在一个节点上错误配置IPTABLES(~firewall)时发生了这种情况。当该节点被分配一个reducer角色时,reduce阶段将卡在33%。检查错误日志以确保连接正常,特别是如果您最近添加了新节点和/或手动配置了它们。 关于hadoop-如何调试挂起的hadoopmap-reduce作业,我们在Sta

hadoop - 在 Hadoop 中,有没有办法查看发送到 reducer 以执行正在运行的任务的键/值对?

对于我的一个hadoop作业,输入到我的reducer任务中的数据量极度不平衡。例如,如果我有10个reducer任务,其中9个的输入大小将在50KB范围内,最后一个将接近200GB。我怀疑我的映射器正在为单个键生成大量值,但我不知道该键是什么。这是一项遗留工作,我无法再访问源代码。有没有办法在作业运行时查看键/值对,无论是映射器的输出还是reducer的输入? 最佳答案 尝试将其添加到您的CLI作业运行中:-Dmapred.reduce.tasks=0这应该将reducer的数量设置为0,这实际上将使映射器将输出直接转储到HDFS

hadoop - 如何在 hadoop/map reduce 中创建具有固定行数的输出文件?

假设我们有N个不同行数的输入文件。我们需要生成输出文件,这样每个输出文件恰好有K行(除了最后一个可以有是否可以使用单个MR作业来做到这一点?我们应该打开文件以在reducer中显式写入。输出中的记录应该被打乱。谢谢,参数化 最佳答案 假设输入文件有990条记录,必须将其分成9个文件,每个文件有100条记录,最后一个文件有90条记录。共10个文件使用NLineInputFormat并将mapred.line.input.format.linespermap设置为100。这样每个映射器将处理来自输入数据集的100行。将reducer的数

java - 在 HDP 2.0 上运行 hadoop map reduce java 程序时出错

我在java中运行以下mapreduce程序,它编译成功但在运行时获取我在EC2上使用HortonworksHDP2.0。packageedu.osu.cse.ysmart.TestQuery;importjava.io.IOException;importjava.util.*;importjava.text.*;importorg.apache.hadoop.fs.Path;importorg.apache.hadoop.conf.*;importorg.apache.hadoop.io.*;importorg.apache.hadoop.util.Tool;importorg.a