где находится файл mrjob.conf?

Мой mrjob с потоковой передачей Hadoop терпит неудачу. У меня есть песочница hadoop на oracle vm с модулем python mrjob. Необходимо внести некоторые изменения в mrjob.conf, как это предлагается в Ошибка Hadoop: ошибка запуска задания, неверный входной путь: файл не существует. Ошибка команды потоковой передачи Но я не могу найти этот файл конфигурации.

Может ли кто-нибудь провести меня через это?

И кстати, трассировка стека моей реальной проблемы:

hduser@ubuntu:~$ python suncode/RatingsBreakdown.py -r hadoop --hadoop-streaming-jar /usr/local/hadoop/share/hadoop/tools/lib/hadoop-streaming-2.7.2.jar sundata/u.data

Using configs in /etc/mrjob.conf
Looking for hadoop binary in /usr/local/hadoop/bin...
Found hadoop binary: /usr/local/hadoop/bin/hadoop
Using Hadoop version 2.7.2
Creating temp directory /tmp/RatingsBreakdown.hduser.20170921.083051.964674
Copying local files to hdfs:///user/hduser/tmp/mrjob/RatingsBreakdown.hduser.20170921.083051.964674/files/...
Running step 1 of 1...
  session.id is deprecated. Instead, use dfs.metrics.session-id
  Initializing JVM Metrics with processName=JobTracker, sessionId=
  Cannot initialize JVM Metrics with processName=JobTracker, sessionId= - already initialized
  Cleaning up the staging area file:/app/hadoop/data/mapred/staging/hduser577870072/.staging/job_local577870072_0001
  Error launching job , bad input path : File does not exist: /app/hadoop/data/mapred/staging/hduser577870072/.staging/job_local577870072_0001/files/RatingsBreakdown.py#RatingsBreakdown.py
  Streaming Command Failed!
Attempting to fetch counters from logs...
Can't fetch history log; missing job ID
No counters found
Scanning logs for probable cause of failure...
Can't fetch history log; missing job ID
Can't fetch task logs; missing application ID
Step 1 of 1 failed: Command '['/usr/local/hadoop/bin/hadoop', 'jar', '/usr/local/hadoop/share/hadoop/tools/lib/hadoop-streaming-2.7.2.jar', '-files', 'hdfs:///user/hduser/tmp/mrjob/RatingsBreakdown.hduser.20170921.083051.964674/files/RatingsBreakdown.py#RatingsBreakdown.py,hdfs:///user/hduser/tmp/mrjob/RatingsBreakdown.hduser.20170921.083051.964674/files/mrjob.zip#mrjob.zip,hdfs:///user/hduser/tmp/mrjob/RatingsBreakdown.hduser.20170921.083051.964674/files/setup-wrapper.sh#setup-wrapper.sh', '-input', 'hdfs:///user/hduser/tmp/mrjob/RatingsBreakdown.hduser.20170921.083051.964674/files/u.data', '-output', 'hdfs:///user/hduser/tmp/mrjob/RatingsBreakdown.hduser.20170921.083051.964674/output', '-mapper', 'sh -ex setup-wrapper.sh python3 RatingsBreakdown.py --step-num=0 --mapper', '-reducer', 'sh -ex setup-wrapper.sh python3 RatingsBreakdown.py --step-num=0 --reducer']' returned non-zero exit status 512

person Namrata Tolani    schedule 21.09.2017    source источник


Ответы (2)


Вы должны искать mrjob.conf в этих местах:

Местоположение, указанное в MRJOB_CONF.

~/.mrjob.conf
/etc/mrjob.conf
person RGarcia    schedule 21.09.2017
comment
Когда я делаю эхо $MRJOB_CONF, он ничего не печатает. Понятия не имею, что здесь происходит не так. - person Namrata Tolani; 21.09.2017
comment
Можете ли вы попробовать это: mrjob.conf.find_mrjob_conf(), если он не может найти, ничего не возвращает - person RGarcia; 21.09.2017

Вы можете найти файл с помощью этой команды, sudo find / -name "mrjob.conf".

Обычно mrjob.conf находится в следующих местах:

  • Местоположение, указанное MRJOB_CONF
  • ~/.mrjob.conf
  • /etc/mrjob.conf
person LF00    schedule 21.09.2017
comment
Я предполагаю, что в моей виртуальной машине нет mrjob.conf. Я уже пробовал это и команду locate. Хотя я вижу mrjob в списке установленных модулей в python. Нужно ли мне тогда где-то добавлять один mjob.conf самостоятельно? - person Namrata Tolani; 21.09.2017
comment
Да, если он не существует, вы можете создать его. - person LF00; 21.09.2017
comment
создал один в другом месте. но это не решает мою проблему. - person Namrata Tolani; 21.09.2017
comment
Вам нужно указать файл конфигурации с флагом --conf-path - person LF00; 21.09.2017