Apache pig 如何调试提交作业后被卡住的清管器

Apache pig 如何调试提交作业后被卡住的清管器,apache-pig,elastic-map-reduce,Apache Pig,Elastic Map Reduce,我有一个用Pig编写的map reduce作业,它正在执行以下操作 给定一组apache日志文件,表示对网站上特定资源的访问 清理机器人上的圆木和不需要的圆木线 生成在日志中找到的元组(ip、资源\u id) 例如,此日志: 1.1.1.1-[14/Jun/2014:06:26:27+0000]“GET/path/to/resource/”“Agent” 将被转换成(如果不是机器人): (1.1.1.1,) 这是通过一个简单的UDF来完成的,该UDF使用regex+a库解析日志以进行机器人检

我有一个用Pig编写的map reduce作业,它正在执行以下操作

给定一组apache日志文件,表示对网站上特定资源的访问

  • 清理机器人上的圆木和不需要的圆木线
  • 生成在日志中找到的元组(ip、资源\u id)
例如,此日志:
1.1.1.1-[14/Jun/2014:06:26:27+0000]“GET/path/to/resource/”“Agent”

将被转换成(如果不是机器人):
(1.1.1.1,)

这是通过一个简单的UDF来完成的,该UDF使用regex+a库解析日志以进行机器人检测。
从这一步开始,脚本将继续执行两个附加的map reduce操作

问题如下:

  • 我能在当地完成养猪工作
  • 我将脚本上传到Amazon Elastic Map Reduce,需要处理5GB的日志
  • 我用10个大型实例运行了1个小时的脚本
  • 工作没有完成,我就终止了
已经生成的hadoop日志没有显示出太多的进展,并且似乎停留在前面描述的初始准备阶段

2014-07-07 06:31:17609[main]INFO org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MapReduceLauncher-详细位置:M:pre1[4,7],pre2[-1,-1],pre3[7,7],pre4[8,7],r2[13,5]C:R:r5[-1,-1]
2014-07-07 06:31:17661[main]INFO org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MapReduceLancher-完成0%

您建议如何从这里开始调试问题?
您认为给定数据大小,机器数量合理吗?
我真的很期待在这么长的时间内完成这项工作


谢谢

如果您有大量日志文件,我可以想象处理可能会很慢。在这种情况下,您可以在将它们放在HDF上之前将它们组合起来。对于这种硬件上的简单解析脚本来说,5GB的总容量应该不是问题

对于这种情况,下一步通常是将问题缩小

  • 如果你只是给它提供一些小文件而不是5GB,它在amazon上工作吗
  • 如果是这样的话,如果你先给它1%,然后给它2%,然后给它10%,那么运行时间是如何增加的
  • 如果它不起作用,那么如果您使解析函数变得微不足道,或者一起跳过它,会发生什么

  • 您是否有权访问JobTracker,以便详细监控每个任务?您应该能够在自己的机器上在1小时内通过5 GB,更不用说10个Amazon实例了……我可以看到
    任务尝试
    日志文件夹。在它里面,我有正在进行的不同任务的所有细节()。它们中的每一个看起来都像这样==>打开's3n://path/to/log/access.log.22'来读取每个作业阶段正在处理的[…]别名(别名[line,offset]):M:pre1[4,7],pre2[-1,-1],pre3[7,7],pre4[8,7],r2[13,5]C:R:r5[-1,-1]2014-07-06:33:09202信息[Thread-5]amazon.emr.metrics.MetricsUtil:instance controller state completed 2014-07-07 06:33:09809 INFO[Thread-5]amazon.emr.metrics.MetricsSaver:emr metrics是禁用的我在S3中运行大量小文件时看到过类似的行为(这些文件在映射程序中分配不均等)。使用s3distcp()将文件从S3复制到HDFS(可以通过这种方式组合小文件)时,您是否看到了相同的行为?