我有一个猪脚本,它将从cassandra获取所有数据,进行少量转换并存储到hdfs。当我在猪的grunt控制台上执行它时,由于cassandra中有大量数据,因此需要将近30分钟。
但是当我使用oozie工作流程执行相同操作时,它会执行,但需要花费很长时间将近一个半小时。当我检查hadoop日志时,这就是它所说的。
2013-11-19 01:20:00,871 [main] INFO org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MapReduceLauncher - 更多信息请见:master:50030 / jobdetails.jsp?jobid = job_201311190052_0002 心脏跳动 .. .. 心脏跳动 心脏跳动 2013-11-19 02:09:59,172 [main] INFO org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MapReduceLauncher - 完成50% 2013-11-19 02:10:17,289 [main] INFO org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MapReduceLauncher - 100%完成
几乎它会检查心跳50分钟,然后再次恢复该过程。
我在9000端口上从源到目的地进行了telnet。我能够连接。我甚至在/ etc / hosts文件中检查了两台机器上的IP配置,顺便说一下这看起来还不错。
我们仍然不明白为什么会这样?这是什么呢?以及如何克服这个问题,以便加快处理速度。有谁可以帮助我们这方面?任何帮助都非常感谢。
答案 0 :(得分:0)
以下是解决问题的两件事。
1)使用 where子句从cassandra获取数据,而不是获取所有数据。
2)通过向机器添加更多风扇,因为它也是由于HDD的冷却不足。