草庐IT

reduced_bitmap

全部标签

hadoop - HDFS集群的某些datanode在reducers运行时突然断开连接

我有8台从属计算机和1台运行Hadoop(ver0.21)的主控计算机当我在10GB数据上运行MapReduce代码时,集群的一些数据节点突然断开连接在所有映射器完成并处理了大约80%的缩减器后,随机将一个或多个数据节点从网络中断开。然后其他数据节点开始从网络中消失,即使我在发现某些数据节点断开连接时终止了MapReduce作业也是如此。我尝试将dfs.datanode.max.xcievers更改为4096,关闭所有计算节点的防火墙,禁用selinux并将文件打开数限制增加到20000但它们根本不起作用......有人有解决这个问题的想法吗?以下是mapreduce的错误日志12/0

java - 是否可以在没有输入文件的情况下在 Hadoop 集群上运行 map/reduce 作业?

当我尝试在Hadoop集群上运行map/reduce作业而不指定任何输入文件时,出现以下异常:java.io.IOException:Noinputpathsspecifiedinjob好吧,我可以想象在没有输入文件的情况下运行作业确实有意义的情况。生成测试文件就会这样。有可能用Hadoop做到这一点吗?如果没有,您是否有生成文件的经验?有没有更好的方法然后将虚拟文件与集群上的一条记录一起用作生成作业的输入文件? 最佳答案 文件路径与基于FileInputFormat的输入相关,如SequenceInputFormat等。但是从hb

Hadoop Streaming 和多个 reducer 步骤,每个步骤之间没有映射器

我正在解决如何多次排序我的数据而不必每次都返回映射器的问题。我想设置:mapper1-->reducer1--->reducer2--->reducer3我想让reducer1输出(键、数据),然后让它直接进入reducer2...这可能吗?我从故障排除中了解到您可以链接作业,但这需要每个步骤都有一个映射器吗?每当我尝试在没有映射器的情况下运行时,它都会以错误结束。如果我可以根据需要从reducer1输出它,那么为每个步骤运行映射器似乎会浪费时间/资源。想法? 最佳答案 简而言之,如果您使用的是Java,那么您需要ChainRedu

algorithm - mapreduce中是否有可以并行执行的非交换reducer?

某些运算(例如中位数和均值)是不可交换的。在这种情况下似乎只能有一个reducer,因为reducer需要具有全局View。map-reduce中是否有可以并行执行的非交换reducer?当遇到非交换操作时,人们真的会使用map-reduce吗?或者只是在一些非常强大的机器上运行它?是否有将非交换运算分解为交换运算的通用方法?谢谢 最佳答案 我不知道“交换”这个词用在这里是否合适,但我明白你在说什么。在hadoop中,post-mapping阶段其实分为两步:Combiner和Reducer,签名相同。Combiner在映射器上运行

sorting - 如何对map reduce hadoop中的数据进行排序?

我正在使用一个包含4个MapReduce步骤的程序。我第一步的输出是:idvalue1202339436我有大约1,000,000个ID,在第二步中我必须对值进行排序。这一步的输出:idvalue4361203923如何在mapreduce中对数据进行排序?我需要使用terasort吗?如果是,我如何在程序的第二步使用terasort?谢谢。 最佳答案 如果你想根据value's排序,让它成为keyinmap函数。即idvalue120233943653map函数中的(值)(键)outputwillbekeyvalue3532932

java - 尝试运行 HBase map reduce 时出错

我真的很难在Hadoop上运行Hbase-MapReduce。我确实使用HadoopHortonwork2版本。我使用的HBase版本是0.96.1-hadoop2。现在,当我尝试像这样运行我的MapReduce时:hadoopjartarget/invoice-aggregation-0.1.jarstart="2014-02-0101:00:00"end="2014-02-1901:00:00"firstAccountId=0lastAccountId=10Hadoop告诉我在其文件系统中找不到invoice-aggregation-0.1.jar?!我想知道为什么它需要在那里?这

java - 无法访问 MapReduce 的 reducer 类中的计数器

我通过以下方式增加映射器的计数器publicstaticclassTokenizerMapperextendsMapper{publicstaticenumMyCounters{TOTAL};context.getCounter(MyCounters.TOTAL).increment(1);.我试图通过以下方式在reducer类中获取此计数器的值。@Overridepublicvoidsetup(Contextcontext)throwsIOException,InterruptedException{Configurationconf=context.getConfiguration

hadoop - 识别 map/reduce 作业瓶颈的正确方法是什么?

在正常的java开发中,如果我想提高应用程序的性能,我通常的过程是运行带有附加分析器的程序,或者在应用程序中嵌入一组检测标记。无论哪种情况,近期目标都是确定应用程序的热点,然后能够衡量我所做的更改的效果。当应用程序是在hadoop集群中运行的map/reduce作业时,正确的类比是什么?当作业的运行速度似乎比您在开发沙箱中运行等效逻辑所预测的慢时,有哪些选项可用于收集性能数据? 最佳答案 Map/Reduce框架在Job-Tracker中查看职位。在这里您将看到映射器和缩减器需要多长时间。一个常见的例子是,如果您在reducer中做

java - mapreduce hadoop 中的 reducer 数量

我只有一个从mapper发送到reducer的键,并且我将noofreducers设置为10。所以一个reducer将在该键上运行,剩下的9个reducer将做什么? 最佳答案 其他9个reducer将照常运行它们的生命周期,它们一旦运行就不会有任何键/值要处理,所以它们会很快停止。因此,您将在资源不必要地运行时浪费资源。您通常(大多数输出​​格式都这样做)还会发现您最终得到一个运行但未写入任何内容的reduce的部分文件。部分文件将不包含任何实际数据,仅包含文件元数据,例如gzipheader。

hadoop - 理解在 Hadoop 中合并到 reduce 端

我对Hadoop中reduce端的文件合并过程的理解有问题,因为它在“Hadoop:权威指南”(TomWhite)中有所描述。引用它:Whenallthemapoutputshavebeencopied,thereducetaskmovesintothesortphase(whichshouldproperlybecalledthemergephase,asthesortingwascarriedoutonthemapside),whichmergesthemapoutputs,maintainingtheirsortordering.Thisisdoneinrounds.Forexa