我使用 hadoop 流式传输的 mrjob 失败。我在 oracle vm 上有一个带有 python 模块 mrjob 的 hadoop 沙箱。
需要按照 Hadoop Error: Error launching job , bad input path : File does not exist.Streaming Command Failed 中的建议对 mrjob.conf 进行一些更改
但是我找不到这个 conf 文件。
任何人都可以指导我完成这个吗?
顺便说一句,我的实际问题的堆栈跟踪是:
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
最佳答案
您应该在以下位置查找 mrjob.conf:
MRJOB_CONF 指定的位置。
~/.mrjob.conf
/etc/mrjob.conf
关于python - mrjob.conf 文件的位置是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46337581/