草庐IT

Elastic-Job

全部标签

hadoop - 级联 2.0.0 作业在 hadoop FileNotFoundException job.split 上失败

当我在更大的数据集上运行我的作业时,许多映射器/缩减器失败导致整个作业崩溃。这是我在许多映射器上看到的错误:java.io.FileNotFoundException:Filedoesnotexist:/mnt/var/lib/hadoop/tmp/mapred/staging/hadoop/.staging/job_201405050818_0001/job.splitatorg.apache.hadoop.hdfs.DFSClient$DFSInputStream.openInfo(DFSClient.java:1933)atorg.apache.hadoop.hdfs.DFSCl

caching - 将一个大文件(~6 GB)从 S3 复制到 Elastic MapReduce 集群的每个节点

事实证明,在引导操作中将大文件(~6GB)从S3复制到ElasticMapReduce集群中的每个节点并不能很好地扩展;管道只有这么大,随着#个节点变大,到节点的下载会受到限制。我正在运行一个包含22个步骤的作业流程,其中可能有8个步骤需要此文件。当然,我可以从S3复制到HDFS并在每一步之前缓存文件,但这是一个主要的速度killer(并且会影响可伸缩性)。理想情况下,作业流将从每个节点上的文件开始。至少有一些StackOverflow问题间接地解决了通过作业流程持久化缓存文件的问题:Re-usefilesinHadoopDistributedcache,Lifeofdistribut

hadoop - 亚马逊弹性 map 减少 : Job flow fails because output file is not yet generated

我有一个执行三项任务的AmazonEMR作业流程,第一项的输出是后续两项的输入。第二个任务的输出被第三个任务DistributedCache使用。我已经完全在EMR网站(控制台)上创建了作业流,但集群立即失败,因为它找不到分布式缓存文件-因为它尚未在步骤#1中创建。我唯一的选择是通过boostrap操作从CLI创建这些步骤,并指定--wait-for-steps选项吗?我无法执行一个任务的输入依赖于另一个任务的输出的多步骤作业流,这似乎很奇怪。 最佳答案 最后,我通过创建一个自举但没有任何步骤的AmazonEMR集群解决了这个问题。

shell - Oozie Job 仍处于 RUNNING 状态

我正在尝试在HDP集群上运行简单的oozie作业。执行oozie后,job保持Running状态。这是我的Workflow.xml${jobTracker}${nameNode}sqoopimport--connectjdbc:mysql://localhost:3306/test--tabletesting--split-byerr_dt--hive-import--hive-tabletesting-m1hive-site.xmlmysql-connector-java.jarActionfailed以下是正在生成的日志..2015-04-0714:33:32,792INFOAct

c# - MapReduce.SDK : How to wait for MapReduce job?

我正在使用MicrosoftMapReduceSDK启动仅Mapper作业。调用hadoop.MapReduceJob.ExecuteJob立即抛出“响应状态代码不表示成功:404(未找到)”异常。检查HDInsight查询控制台时,作业成功启动并稍后完成。它还会写入正确的输出文件。我的猜测是,ExecuteJob试图在作业完成之前访问输出数据。处理这种情况的正确方法是什么?usingSystem;usingSystem.Linq;usingSystem.Security.Cryptography.X509Certificates;usingMicrosoft.WindowsAzure

amazon-web-services - 亚马逊 S3 错误代码 : 400 while running mr-job on EMR

在EMR上运行自定义jar时出现此错误。Exceptioninthread"main"com.amazon.ws.emr.hadoop.fs.shaded.com.amazonaws.services.s3.model.AmazonS3Exception:BadRequest(Service:AmazonS3;StatusCode:400;ErrorCode:400BadRequest;RequestID:B042BB0B40A75966),S3ExtendedRequestID:vr/DUr8HD3xjomauyzqvVdGuW3fHBP8PDUmTIAoVLUxrmsxh9H+OS

java - mapreduce 中线程 "main"java.io.IOException : Job failed! 中的异常

我是Hadoop的新用户。我从Hadoop初学者指南(GarryTurkington)运行此示例代码,但遇到作业失败的问题。我在我的输出文件夹中没有看到输出文件(部分文件)。我在mapred-site.xml文件中做了很多更改,但我无法解决作业失败的问题。我该怎么办?importjava.io.IOException;importorg.apache.hadoop.conf.*;importorg.apache.hadoop.fs.Path;importorg.apache.hadoop.io.*;importorg.apache.hadoop.mapred.*;importorg.a

AWS EMR 中的 Hadoop : Will closing terminal kill hadoop job?

在不终止我的Hadoop作业的情况下关闭我的终端或关闭我的计算机是否安全?我正在通过AmazonElasticMapReduce上的集群运行Hadoop作业。我打开了我的终端,在那里我通过ssh进入了我的主节点。当我尝试关闭终端时,我收到一条警告,提示所有进程都将被终止。这也会扼杀我的Hadoop工作吗?或者我可以关闭我的计算机并稍后再次使用ssh吗?我是否需要特殊工具(如tmux)来执行此操作?如果重要的话,我在Ubuntu13.10中使用默认的(bin/bash)终端。我从Pig脚本开始这项工作。 最佳答案 不,你可以愉快地杀死

Hadoop MapReduce : Is it possible to only use a fraction of the input data as the input to a MR job?

我的输入数据的关键类是WritableComparable,它以MapFile的形式存在。有没有什么方法可以设置最小和最大键值,并且只将记录传输到键值介于两者之间的映射器? 最佳答案 这是不可能的。因为对于map-reduce作业,我们只是指定输入。我们可以做的一件事是,在映射器中编写一个条件。如果键是黑白最小值和最大值,则只处理键值对并将输出发送到reducer。否则,什么都不做。但即使在这种情况下,我们的map阶段也会处理所有输入,而reduce阶段只会处理我们指定的键范围。更好的方法:当在给定输入上运行map-reduce作业

Hadoop,线程 "main"java.lang.IllegalStateException : Job in state DEFINE instead of RUNNING 中的 MapReduce 自定义 Java 计数器异常

错误是:Exceptioninthread"main"java.lang.IllegalStateException:JobinstateDEFINEinsteadofRUNNINGatorg.apache.hadoop.mapreduce.Job.ensureState(Job.java:294)atorg.apache.hadoop.mapreduce.Job.getCounters(Job.java:762)atcom.aamend.hadoop.MapReduce.CountryIncomeConf.main(CountryIncomeConf.java:41)atsun.re