Amazon EMR + mrjob:引导错误,“引导操作 1 返回非零返回码”

Posted

技术标签:

【中文标题】Amazon EMR + mrjob:引导错误,“引导操作 1 返回非零返回码”【英文标题】:Amazon EMR + mrjob: bootstrap error, "bootstrap action 1 returned a non-zero return code" 【发布时间】:2015-07-01 16:48:38 【问题描述】:

我正在尝试使用 ec2 实例在 Amazon 的 EMR 上运行 mrjob。它一直在工作,直到我意识到我正在使用 python 包(mechanize、BeautifulSoup、boto)。所以,我添加到我的 mrjob.conf 文件中,但现在我不断收到此错误:

No handlers could be found for logger "mrjob.emr"
Traceback (most recent call last):
  File "run_job.py", line 102, in <module>
    run()
  File "run_job.py", line 76, in run
    runner.run()
  File "C:\Program Files (x86)\Python278\lib\site-packages\mrjob\runner.py", line 464, in run
    self._run()
  File "C:\Program Files (x86)\Python278\lib\site-packages\mrjob\emr.py", line 821, in _run
    self._wait_for_job_to_complete()
  File "C:\Program Files (x86)\Python278\lib\site-packages\mrjob\emr.py", line 1689, in _wait_for_jo
b_to_complete
    raise Exception(msg)
Exception: Job on job flow j-CZDG75Z1X58 failed with status FAILED: On the master instance (i-0ef8bb
cc), bootstrap action 1 returned a non-zero return code

我在这里束手无策,我已经尝试解决这个问题已经有一段时间了,但我似乎无法得到它。这是conf文件:

runners:
  emr:
    bootstrap_mrjob: True
    ami_version: 2.4.11

    bootstrap:
        - sudo apt-get install -y python-pip
        - sudo pip install mechanize
        - sudo pip install bs4
        - sudo pip install mrjob
        - sudo pip install boto

    aws_access_key_id: xxxx
    aws_region: xxxx
    aws_secret_access_key: xxxx
    num_ec2_core_instances: 1
    ec2_core_instance_type: m1.small
    iam_instance_profile: xxxx

【问题讨论】:

【参考方案1】:

终于明白了!

在 mrjob.conf 中,我将 bootstrap: 及其所有元素更改为

bootstrap_cmds:
    - sudo easy_install pip
    - sudo easy_install mechanize
    - sudo easy_install boto
    - sudo easy_install BeautifulSoup4

事实证明,mjrob 几乎总是自动将自己的包安装到 ec2 实例。所以我根本不需要在引导程序中包含它。

现在它运行起来就像一个魅力! :)

【讨论】:

以上是关于Amazon EMR + mrjob:引导错误,“引导操作 1 返回非零返回码”的主要内容,如果未能解决你的问题,请参考以下文章

mrjob 在 Amazon EMR 5.x 上不起作用,但在 EMR4.8.3 上运行

使用 python MRJob 在 EMR 上引导库

EMR [使用 MRJob] 的输入数据如何跨节点分布?

如何在 EMR 上使用 MrJob 0.4.2 设置 IAM 角色

在 EMR 上导入 mrjob 失败

在 emr 上运行 mrjob 脚本的 ssh 密钥无效