我有一个 pig 脚本,它将从 cassandra 获取所有数据,进行少量转换并存储到 hdfs 上。在pig的grunt控制台执行时,cassandra数据量大,耗时将近30分钟。
但是当我使用 oozie 工作流执行相同的操作时,它执行但需要很长时间,将近一个半小时。当我检查 hadoop 日志时,这就是它所说的。
2013-11-19 01:20:00,871 [main] INFO org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MapReduceLauncher - More information at: master:50030/jobdetails.jsp?jobid=job_201311190052_0002 Heart beat .. .. Heart beat Heart beat 2013-11-19 02:09:59,172 [main] INFO org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MapReduceLauncher - 50% complete 2013-11-19 02:10:17,289 [main] INFO org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MapReduceLauncher - 100% complete
几乎它会检查心跳 50 分钟,然后再次恢复该过程。
我在 9000 端口上进行了从源到目标的远程登录。我能够连接。我什至检查了两台机器上 IP 配置的/etc/hosts 文件,顺便说一下,这看起来不错。
我们仍然不明白为什么会这样?这是什么?以及如何克服这个问题,以便更快地完成处理。任何人都可以在这方面帮助我们吗?非常感谢任何帮助。
最佳答案
这是解决问题的两件事。
1) 使用where子句从cassandra获取数据,而不是获取所有数据。
2) 多加几个风扇给机器,因为这也是由于 HDD 冷却不足。
关于hadoop - Pig Cassandra process very slow (Heart beat) with oozie,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20090869/