标签:
用php写了简单map reduce程序,使用cat test.txt | php mapper.php | php reducer.php 测试过脚本没有问题,然而使用hadoop时就总是jobs fail。
因此得出结论是在上传脚本到hadoop服务器上执行时的命令输入错误。以下总结两个易错点:
1. –map ‘php mapper.php’不应该加php,加了之后容易fail
2. –file ‘mapper.php’ 应该使用-file参数将map和reduce的文件上传到hadoop服务器上,如果不上传容易fail。
用php写了简单map reduce程序,使用cat test.txt | php mapper.php | php reducer.php 测试过脚本没有问题,然而使用hadoop时就总是jobs fail。
因此得出结论是在上传脚本到hadoop服务器上执行时的命令输入错误。以下总结两个易错点:
1. –map ‘php mapper.php’不应该加php,加了之后容易fail
2. –file ‘mapper.php’ 应该使用-file参数将map和reduce的文件上传到hadoop服务器上,如果不上传容易fail。
1 $hadoop jar /绝对路径/hadoop-streaming.jar 2 -D mapred.job.priority="NORMAL" 3 -D mapred.job.name="test" 4 -D mapred.reduce.tasks=1 5 -D mapred.linerecordreader.maxlength=10485760 6 -mapper "/绝对路径/mapper.php" 7 -reducer "/绝对路径/reducer.php" 8 -input $input 9 -output $output 10 -file "/绝对路径/mapper.php" 11 -file "/绝对路径/reducer.php"
linux下用hadoop streaming 跑php总是jobs fail!
标签:
原文地址:http://www.cnblogs.com/skysand/p/5635989.html