【问题标题】:Amazon EMR streaming mapper / reducer not found未找到 Amazon EMR 流式映射器/缩减器
【发布时间】:2016-08-25 05:03:54
【问题描述】:

我尝试构建我的第一个用 PHP 编写的 EMR 流应用程序。

在我的本地系统上效果很好: ./生产者/目标/发布/生产者 1000 | php 映射器.php |排序 | php reducer.php

我还尝试让 mapper/reducer 可执行并添加 Shebang。

我使用“选择器”选择映射器/reducer 的 s3 路径,但 EMR 在它的日志中抱怨:

原因:java.io.IOException: Cannot run program "/mnt1/yarn/usercache/hadoop/..././mapper.php": error=2, No such file or directory

好像EMR没有将mapper文件复制到hadoop集群。

知道为什么找不到映射器吗?

【问题讨论】:

    标签: php amazon-web-services hadoop amazon-s3 emr


    【解决方案1】:

    错误令人困惑;缺少的不是 mapper.php,而是 php 可执行文件本身。 PHP 未安装在最新的 EMR AMI 核心和任务节点上。您需要安装它。

    任何简单的解决方案都是添加一个引导项。使用以下内容创建 bootstrap.sh:

    #!/usr/bin/php
    
    yum -y install php
    

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-10-13
      • 2013-06-10
      • 1970-01-01
      • 2014-04-14
      • 1970-01-01
      • 1970-01-01
      • 2015-11-05
      相关资源
      最近更新 更多