草庐IT

作业组

全部标签

python - Pig//Spark 作业看不到 Python 模块

我的hadoop集群有一个反复出现的问题,偶尔功能代码会停止查看位于正确位置的python模块。我正在寻找可能遇到过相同问题的人的提示。当我第一次开始编程并且代码停止工作时,我在这里问了一个关于SO的问题,有人告诉我去sleep,早上它应该可以工作,或者其他一些“你是个傻瓜,你一定有改变了一些东西”之类的评论。我多次运行该代码,它有效,我去sleep了,早上我尝试再次运行它,但它失败了。有时我使用CTRL+C终止作业,有时我使用CTRL+Z。但这只会占用资源,除此之外不会引起任何其他问题——代码仍在运行。我还没有在代码运行后立即看到这个问题。这通常发生在第二天早上,当我在10小时前离开

hadoop - Spark 作业失败,因为 HDFS 正在缓存 jar

我将Scala/Sparkjar上传到HDFS以在我们的集群上测试它们。运行后,我经常意识到需要做出一些改变。所以我在本地进行更改,然后将新的jar推送回HDFS。然而,当我这样做时,hadoop经常(并非总是)抛出一个错误,本质上是说这个jar与旧jar不同(duh)。我尝试清除我的回收站、.staging和.sparkstaging目录,但这没有任何作用。我尝试重命名jar,这有时会起作用,有时却不起作用(这仍然很荒谬,我必须首先这样做)。有谁知道为什么会发生这种情况以及如何防止这种情况发生?谢谢你的帮助。如果有帮助,这里有一些日志(编辑了一些路径):Applicationappl

hadoop - 定期运行 hadoop 作业(最佳实践)

能够随时将url上传到数据库和应用程序的客户应尽快处理url。所以我需要定期运行hadoop作业或从其他应用程序自动运行hadoop作业(任何脚本标识添加了新链接,为hadoop作业生成数据并运行作业)。对于PHP或Python脚本,我可以设置cronjob,但是运行定期hadoop作业的最佳实践是什么(为hadoop准备数据、上传数据、运行hadoop作业并将数据移回数据库? 最佳答案 看看Oozie,这是来自Y!的新工作流系统,它可以根据不同的触发器运行作业。Alejandro在这里展示了一个很好的溢出:http://www.s

java - 如何在不使用已弃用类的情况下编写 Hadoop map reduce 作业?

我知道这是我的强制症,但我无法忍受在我的代码中使用弃用的引用。也就是说,包括“权威指南”一书在内的Hadoop教程仅使用已弃用的JobConf类和mapred包中的类,这些类均已弃用。我在任何地方都找不到有关如何将现有MapReduce作业转换为使用新构造的任何文本。 最佳答案 我不久前与Cloudera人员进行了交谈,他们确认"new"功能不完整,并且如果不使用“已弃用”的包,就无法编写正式的Hadoop内容。 关于java-如何在不使用已弃用类的情况下编写Hadoopmapreduc

hadoop - 成功的 Hadoop 作业但有错误

我已经建立了我的第一个简单的Hadoop多节点集群(我是新手),它由两个节点组成,一个主节点(也充当从节点)和一个专用的从节点。我正在运行一个成功完成的Hadoop“字数统计”示例作业。虽然当我查看日志时我可以看到错误,但这是来自从节点上的TaskTracker日志:2013-04-1200:30:16,436WARNorg.apache.hadoop.mapred.TaskTracker:FailedvalidatingJVMjava.io.IOException:JvmValidateFailed.Ignoringrequestfromtask:attempt_2013041123

hadoop - 提交 Hadoop 作业

我需要不断获取映射器和缩减器的运行时间。我已经提交了如下作业。JobClientjobclient=newJobClient(conf);RunningJobrunjob=jobclient.submitJob(conf);TaskReport[]maps=jobclient.getMapTaskReports(runjob.getID());longmapDuration=0;for(TaskReportrpt:maps){mapDuration+=rpt.getFinishTime()-rpt.getStartTime();}但是,当我运行该程序时,作业似乎没有提交并且映射器从未启

Java.lang.finalize 堆在 hadoop url 解析作业期间变得太大

我正在尝试浏览url列表并分析其主页的内容。为此,我有一个没有缩减器的Hadoop映射器,它获取url并将它们发送到解析器类进行解析。解析器使用Jericho'shtmlparser的流式源类读取页面内容。它实际上使用缓冲阅读器接收所述页面的内容。我让它调用流式源和缓冲读取器类的close方法,之后我的映射器调用解析器toString方法并继续到下一个url。快速内存分析显示垃圾收集器似乎无法跟上一堆终结对象。我听说过关于System.gc()可靠性的坏消息,所以我想知道是否有另一种更简洁的方法来摆脱这个巨大的finalize对象堆。 最佳答案

java - 如何在 hadoop 作业中将 'Text' 作为 Mapper 输入键传递?

我的文件内容是这样的。TestKey,TestValueTestKey1,TestValue1我想将MapperKey作为TestKey传递,将MapperValue作为TestValue传递等等。所以我尝试编写CustomRecordReader来实现这一点。但是它会抛出类似CannotcastLongWritablewithText的错误。我如何将文本作为我的映射器输入键传递?非常感谢对此的任何帮助。谢谢,香卡 最佳答案 看来您需要将输入格式更改为KeyValueTextInputFormat并将分隔符设置为mapreduce.

hadoop - Oozie 和 Hadoop 2,作业卡在 "RUNNING"

我有一个带有java操作节点的工作流作业。使用Hadoop2.1.0.2.0.4.0-38和Oozie3.3.2.2.0.4.0运行当我提交作业时,我在Hadoop资源管理器屏幕中看到2行。1.原职称2.使用Oozie作业名称。Ooziejobname的任务卡在“RUNNING”状态原名称的任务处于“已接受”状态。我在日志中看到的是:>>>InvokingMainclassnow>>>HeartbeatHeartbeatHeartbeatHeartbeat...谢谢 最佳答案 似乎可以并行运行的maptasks的数量是有限的。将以下

apache - Hadoop:map reduce 作业中的错误类路径

我在3个虚拟机中运行一个cloudera集群,并尝试通过mapreduce作业执行hbase批量加载。但我总是得到错误:error:Classorg.apache.hadoop.hbase.mapreduce.HFileOutputFormatnotfound所以,似乎map进程没有找到类。所以我尝试了这个:1)将hbase.jar添加到每个节点上的HADOOP_CLASSPATH2)将TableMapReduceUtil.addDependencyJars(job)/TableMapReduceUtil.addDependencyJars(myConf,HFileOutputForm