您的位置:首页 > 运维架构 > Linux

linux下用hadoop streaming 跑php总是jobs fail!

2016-07-02 20:26 706 查看
用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"
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: