2015-07-01 4 views
1

Я пытаюсь запустить mrjob на EMR Amazon, используя экземпляры ec2. Он работал, пока не понял, что я использую пакеты python (mechanize, BeautifulSoup, boto). Итак, я добавил в мой файл mrjob.conf, но теперь я получаю эту ошибку:Amazon EMR + mrjob: bootstrap error, "bootstrap action 1 возвратил ненулевой код возврата"

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 

ответ

0

Понял это окончательно!

в mrjob.conf, я изменил самозагрузки: и все ее элементы в

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

оказывается mjrob почти всегда автоматически устанавливает свой собственный пакет экземпляров EC2. Так что мне не нужно было иметь это в бутстрапе вообще.

Теперь он работает как шарм! :)