我知道hadoopjob-listcommnad会列出当前正在运行的作业,即状态为1(正在运行)的作业。但它会列出失败的作业吗?我的意思是我能得到这样的输出吗:1jobscurrentlyrunningJobIdStateStartTimeUserNamejob_200808111901_000131218506470390abcjob_200808111901_000221218506470390xyz请注意,上述作业的状态为3(失败)和2(成功)。我是Hadoop的新手,所以如果这个问题太简单,请原谅我。我试着用谷歌搜索,但所有示例都只列出了状态为1的工作。
在过去的几周里,我们每天都使用hadoopstreaming来计算一些报告。最近我们对我们的程序进行了更改,如果输入大小小于10MB,我们将在JobConf中设置mapred.job.tracker=local,然后作业将在本地运行。但是昨晚,许多作业都失败了,runningJob.getJobState()返回了状态3。我不知道为什么,stderr里什么也没有。我无法用谷歌搜索与此问题相关的任何内容。所以我想知道我是否应该在生产模式下使用mapred.job.tracker=local?也许它只是hadoop提供的开发中的调试解决方案。有人知道吗?任何信息,任何信息,谢谢。
我有一个设置了keep-alive的工作流程,我想在其上运行多个引导操作。其中一个操作是构建和安装Python3.3的脚本。但是,elastic-mapreduceCLI仅允许在作业流创建期间运行引导操作。环境已经创建好后,有什么方法可以修改吗? 最佳答案 不,不幸的是,引导操作只能在Hadoop启动之前和节点开始处理数据之前运行,如thebootstrapactionsdocumentation中所述。.亚马逊对新功能持开放态度,所以如果您有可靠的用例,我建议您将其发布到他们的论坛上,他们可能会把它变成一个功能:)
在Oozie中完成工作流后,有没有办法进行外部调用?阅读一些文档似乎是可能的。(Oozie可以对操作开始/结束/失败事件和工作流结束/失败事件进行HTTP回调通知。)http://archive.cloudera.com/cdh/3/oozie/WorkflowFunctionalSpec.html但不确定该怎么做,它是否可以是回调时的外部api调用。谢谢 最佳答案 在文档的下方,section5外部API调用是什么意思?它只能执行HTTP获取-因此,如果您配置servlet端点或类似的东西以在访问URL时触发外部API调用,那么您
大家好,我是HadoopMR的新手。我尝试编写一个简单的MR作业来计算节点到其目标节点的最短路径。基本上逻辑是这样的:如果输入文本文件具有以下给定路径:ABCDABDACD床BDBACD输出应该是:ABDBD这只是给出了节点A和D之间的最短路径以及B和D之间的最短路径。我得到的输出是:[ABCDABDACDBEDBDBACD]我写了下面的MR来做同样的事情。但它没有给出所需的答案。我在独立模式下运行MR。请告诉我代码有什么问题以及解决方法。非常感谢您的宝贵时间。publicclassShpath{publicstaticclassMapextendsMapReduceBaseimple
我不熟悉使用Startcluster/qsub/gridengine来运行并行作业,我尝试阅读其他几篇与此相关的文章。我仍然不确定如何为我的特定要求构建可扩展的解决方案。在继续进行相同的操作之前,我想听取更多建议。这是我的要求:我有一个巨大的tar文件[~40-50GB,最大可达100GB]----->我在这里无能为力。我接受了一个巨大的单个tar文件作为输入。我必须解压缩它----->我运行tarxvftarfilename.tar|parallelpbzip-d解压和解压缩相同的。这个解压缩的输出是几十万个文件,大约500,000个文件。必须处理这些未压缩的文件。我有模块化代码,可
是否可以使用EclipseRunDialog(F11)在远程集群上启动MapReduce作业?目前我必须使用外部工具链对话框和Maven来运行它。注意:要在本地集群上执行它与RunDialog没什么大不了的。但是对于远程连接,必须有一个已编译的JAR。否则你会得到一个ClassNotFoundException(如果设置了Jar-By-Class)我们当前的设置是:Spring-Data-Hadoop1.0.0STS-Springsource工具套件专家CDH4这是我们在applicationContext.xml上设置的(这是您在vanillahadoop上的*-site.xml中指
我目前正在尝试编写一个map-reduce作业,其中输入数据不在HDFS中并且无法加载到HDFS中,主要是因为使用该数据的程序无法使用HDFS中的数据,而且有太多数据无法复制到HDFS中,每个节点至少1TB。因此,我的集群中的4个节点各有4个目录。理想情况下,我希望我的映射器只接收这4个本地目录的路径并使用file:///var/mydata/...之类的内容读取它们,然后1个映射器可以处理每个目录。即总共16个映射器。然而,为了能够做到这一点,我需要确保每个节点正好有4个映射器,并且恰好有4个映射器已分配到该机器的本地路径。这些路径是静态的,因此可以硬编码到我的文件输入格式和记录读取
我是hadoop新手。我正在尝试运行MapReduce(用Java编程),其中键是多个键(文本)。我应该使用哪种类型的数组来存储这些键,然后将它们作为参数传递给outputCollector?谢谢!!! 最佳答案 你应该写你自己的类implementsWritableComparable将键一起存储在一个简洁的对象中。参见thislink一个很好的例子。 关于java-MapReduce作业中的多个键,我们在StackOverflow上找到一个类似的问题: h
我无法将“job.setNumMapTasks(int)”添加到我的MapReduce程序的驱动程序中。当我尝试添加它时,出现编译错误,指出“setNumMapTasks(int)未定义作业类型”。但是,我能够添加reducer等效项“job.setNumReduceTasks(int)”。在我看来,如果我可以添加一个,我应该可以添加另一个。下面是我的司机。非常欢迎任何建议。publicintrun(String[]args)throwsException{Configurationconf=getConf();Jobjob=newJob(conf,"PiCalc");job.setJ