找不到amazon emr流Map器/还原器

lrpiutwd  于 2021-06-02  发布在  Hadoop
关注(0)|答案(1)|浏览(278)

我试图构建我的第一个用php编写的emr流应用程序。
在我的本地系统上,这很有效:./producer/target/release/producer 1000 | php mapper.php | sort | php reducer.php
我还尝试使mapper/reducer可执行,并添加一个shebang。
我使用“picker”选择Map器/还原器的s3路径,但emr在其日志中抱怨:
原因:java.io.ioexception:cannot run program“/mnt1/yarn/usercache/hadoop/../.././mapper.php”:error=2,没有这样的文件或目录
似乎emr没有将Map器文件复制到hadoop集群。
你知道为什么找不到Map吗?

unguejic

unguejic1#

错误令人困惑;缺少的不是mapper.php,而是php可执行文件本身。php没有安装在最新的emr ami核心和任务节点上。你需要安装它。
任何简单的解决方案都是添加一个引导项。使用以下内容创建bootstrap.sh:


# !/usr/bin/php

yum -y install php

然后上传到s3。然后,当您选择引导文件时,从s3中选择bootstrap.sh,它将在运行步骤之前安装php。

相关问题