草庐IT

elastic-mapreduce-cli

全部标签

hadoop - mapreduce 会使用大部分 gzip 文件所在的节点吗?

我有一个HDFS集群,其中包含一些大的gzip文件。我通过将这些gzip文件的所有block写入同一个DataNode,将它们从该数据节点写入HDFS。foriin{1..10};doscpfile$i.gzdatanode1:sshdatanode$ihadoopfs-putfile$i.gz/data/done现在我想对所有这些文件运行mapreduce任务。我希望JobTracker将处理file1的作业放在所有block所在的datanode1上。确实,如果一个数据节点死了,我将失去位置,但它会一直工作到死吗?如果它不能那样工作,我可以编写一个FileInputFormat来实

hadoop - 使用 Hadoop 和 HBase 的增量 MapReduce

我使用CouchDB已经有一段时间了,我正在考虑在HBase/Hadoop中做一个小的学术项目。我阅读了一些关于它们的Material,但找不到一个问题的好答案:在Hadoop/HBase和CouchDB中,都使用MapReduce作为它们的主要查询方法。然而,有一个显着的区别:CouchDB以增量方式执行此操作,使用View,为添加到数据库中的每个新数据建立索引,而Hadoop(从我看到的所有示例来看)通常用于对整个数据集执行完整查询.我缺少的是使用HadoopMapReduce来构建并主要维护索引的能力,例如CouchDB的View。我看到了一些有关如何使用MapReduce创建初

Hadoop Mapreduce tasktrackers 不断忽略 HADOOP_CLASSPATH。 Zookeeper 尝试连接到本地主机而不是集群地址

我有一个包含5个数据节点的Hadoop集群(ClouderaCDH4.2)。我正在尝试运行创建HBaseConfiguration对象的MapReduce作业。tasktracker尝试失败,因为它们试图连接到localhost:2181而不是实际zookeeper安装的地址。我知道这是因为没有为tasktracker提供包含hbase配置的正确类路径。但是,如果我这样运行作业:HADOOP_CLASSPATH=`/usr/bin/hbaseclasspath`hadoopjarmyjar.jar文档表明这应该可以解决问题。hbaseclasspath中的第一个条目是/usr/lib/

Hadoop 在重新启动时删除 MapReduce 历史记录

我正在使用TestDFSIO和TeraSort基准测试工具执行多项Hadoop测试。我基本上是用不同数量的数据节点进行测试,以评估处理能力和数据节点可扩展性的线性度。在上面提到的过程中,我显然不得不重启几次所有的Hadoop环境。每次我重新启动Hadoop时,所有MapReduce作业都会被删除,作业计数器会再次从“job_2013*_0001”开始。出于比较原因,保持我之前启动的所有MapReduce作业对我来说非常重要。所以,我的问题是:¿如何避免Hadoop在重新启动后删除所有MapReduce作业历史记录?¿是否有一些属性可以控制在Hadoop环境重新启动后删除作业?谢谢!

hadoop - HBase批量加载MapReduce HFile异常(netty jar)

我正在尝试运行一个简单的MapReduce进程来编写HFile,以便稍后导入到HBase表中。提交作业时:hbasecom.pcoa.Driver/test/bulkpcoa我收到以下异常,表明netty-3.6.6.Final.jar在HDFS中不存在(但它确实存在于此处)。-rw-r--r--+1mbeeningflprod1206119Sep1818:25/dedge1/hadoop/hbase-0.96.1.1-hadoop2/lib/netty-3.6.6.Final.jar恐怕我不明白如何解决这个配置(?)错误。谁能给我一些建议?异常(exception)情况:Except

hadoop - 在 Oozie 工作流中的 MapReduce 作业中设置 Reducer 的数量

我有一个五节点集群,其中三个节点包含DataNodes和TaskTrackers。我已经通过Sqoop从Oracle导入了大约1000万行,并在Oozie工作流中通过MapReduce对其进行了处理。MapReduce作业大约需要30分钟,并且只使用了一个reducer。编辑-如果我单独运行MapReduce代码,与Oozie分开,job.setNumReduceTasks(4)正确地建立了4个reducer。我尝试了以下方法手动将reducer的数量设置为四个,但没有成功:在Oozie中,在mapreduce节点的tag中设置如下属性:mapred.reduce.tasks4在Map

hadoop - 无法在 MapReduce 模式下使用 Java 运行 Embedded Pig

我正在使用Pig0.12.0和Hadoop2.2.0。我已经在本地和mapreduce模式下成功地从gruntshell和pig批处理脚本运行pig。现在我正在尝试从Java中的嵌入式pig运行pig。话虽如此,我也成功地在本地模式下运行了嵌入式pig。但是,我在mapreduce模式下运行embeddedpig时遇到了问题。问题是:成功编译类后,运行时没有任何反应java-cpPigMapRedMode后来我看到有人说我应该在类路径中包含pig.properties。比如fs.default.name=hdfs://:mapred.job.tracker=:但是,在Hadoop2.2

hadoop - 针对 cassandra 使用 hadoop mapreduce 的示例代码

我一直在尝试获取运行Cassandra时附带的MapReduce示例代码,但出现运行时错误。源代码:importjava.io.IOException;importjava.nio.ByteBuffer;importjava.util.*;importjava.util.Map.Entry;importorg.apache.cassandra.hadoop.cql3.CqlConfigHelper;importorg.apache.cassandra.hadoop.cql3.CqlOutputFormat;importorg.slf4j.Logger;importorg.slf4j.L

java - 打包和部署 Hadoop MapReduce 作业的正确方法?

我在本地节点CentOS上运行Hadoop2.2.0.2.0.6.0-101。当我将/usr/lib/hadoop和/usr/lib/hive中的必要jar作为Eclipse项目中的依赖项包含时,我的MapReduce作业在Eclipse中编译。寻找必要的jar是一项真正的任务!grep是我完成这项工作的唯一工具,它可以执行诸如grep-ri-l"FacebookService"/usr/lib/hadoop尽管如此,当我尝试在编译它的同一本地节点上运行我的应用程序时,我遇到了异常。我放弃了寻找必要的jar的尝试——在一个异常被修复后,一个新的异常出现了。现在,在通过从/usr/lib

java - Hadoop:在 MapReduce [Java] 中实现嵌套 for 循环

我正在尝试实现一个统计公式,该公式需要将一个数据点与所有其他可能的数据点进行比较。例如我的数据集是这样的:10.2215.7716.559.88我需要像这样浏览这个文件:for(i=0;i基本上,当我通过map函数获取每一行时,我需要在reducer中对文件的其余部分执行一些指令,就像在嵌套for循环中一样。现在我尝试使用分布式缓存,某种形式的ChainMapper,但无济于事。任何关于我如何去做这件事的想法都将不胜感激。即使是开箱即用的方式也会有所帮助。 最佳答案 您需要覆盖Reducer类的run方法实现。publicvoidr