Python mrjob nofilefind cloudera cdh 5群集异常

Python mrjob nofilefind cloudera cdh 5群集异常,python,hadoop,cloudera,mrjob,Python,Hadoop,Cloudera,Mrjob,我在hadoop集群上尝试运行mrjob示例时遇到此错误。 我已经设置了hadoop_主页,还可以在hdfs文件系统上创建一个新目录。 如果我使用hadoop流,我可以运行python map reduce。只有mrjob我才知道这个问题 运行此命令时: python mr_word_freq_count.py -r hadoop --hadoop-bin /usr/bin/hadoop -o hdfs:///user/zkdmkrq/out1 hdfs:///user/zkdmkrq/inpu

我在hadoop集群上尝试运行mrjob示例时遇到此错误。 我已经设置了hadoop_主页,还可以在hdfs文件系统上创建一个新目录。 如果我使用hadoop流,我可以运行python map reduce。只有mrjob我才知道这个问题

运行此命令时:

python mr_word_freq_count.py -r hadoop --hadoop-bin /usr/bin/hadoop -o hdfs:///user/zkdmkrq/out1 hdfs:///user/zkdmkrq/input1
我得到:

no configs found; falling back on auto-configuration no configs found;
falling back on auto-configuration creating tmp directory
/tmp/mr_word_freq_count.zkdmkrq.20150226.172000.917957 writing wrapper
script to
/tmp/mr_word_freq_count.zkdmkrq.20150226.172000.917957/setup-wrapper.sh
STDERR: mkdir:
`hdfs:///user/zkdmkrq/tmp/mrjob/mr_word_freq_count.zkdmkrq.20150226.172000.917957/files/':
No such file or directory Traceback (most recent call last):   File
"mr_word_freq_count.py", line 37, in <module>
    MRWordFreqCount.run()   File "/usr/lib/python2.6/site-packages/mrjob/job.py", line 494, in run
    mr_job.execute()   File "/usr/lib/python2.6/site-packages/mrjob/job.py", line 512, in execute
    super(MRJob, self).execute()   File "/usr/lib/python2.6/site-packages/mrjob/launch.py", line 147, in
execute
    self.run_job()   File "/usr/lib/python2.6/site-packages/mrjob/launch.py", line 208, in
run_job
    runner.run()   File "/usr/lib/python2.6/site-packages/mrjob/runner.py", line 458, in run
    self._run()   File "/usr/lib/python2.6/site-packages/mrjob/hadoop.py", line 238, in _run
    self._upload_local_files_to_hdfs()   File "/usr/lib/python2.6/site-packages/mrjob/hadoop.py", line 265, in
_upload_local_files_to_hdfs
    self._mkdir_on_hdfs(self._upload_mgr.prefix)   File "/usr/lib/python2.6/site-packages/mrjob/hadoop.py", line 273, in
_mkdir_on_hdfs
    self.invoke_hadoop(['fs', '-mkdir', path])   File "/usr/lib/python2.6/site-packages/mrjob/fs/hadoop.py", line 109, in
invoke_hadoop
    raise CalledProcessError(proc.returncode, args) subprocess.CalledProcessError: Command '['/usr/bin/hadoop', 'fs',
'-mkdir',
'hdfs:///user/zkdmkrq/tmp/mrjob/mr_word_freq_count.zkdmkrq.20150226.172000.917957/files/']'
returned non-zero exit status 1
未找到任何配置;返回自动配置未找到配置;
返回自动配置创建tmp目录
/tmp/mr_word_freq_count.zkdmkrq.20150226.172000.917957书写包装器
脚本
/tmp/mr_word_freq_count.zkdmkrq.20150226.172000.917957/setup-wrapper.sh
STDERR:mkdir:
`hdfs:///user/zkdmkrq/tmp/mrjob/mr_word_freq_count.zkdmkrq.20150226.172000.917957/files/':
没有这样的文件或目录回溯(最近一次调用last):file
“mr_word_freq_count.py”,第37行,在
MRWordFreqCount.run()文件“/usr/lib/python2.6/site packages/mrjob/job.py”,运行中第494行
mr_job.execute()文件“/usr/lib/python2.6/site packages/mrjob/job.py”,执行中的第512行
super(MRJob,self).execute()文件“/usr/lib/python2.6/site packages/MRJob/launch.py”,第147行,在
处决
self.run_job()文件“/usr/lib/python2.6/site packages/mrjob/launch.py”,第208行,在
运行作业
runner.run()文件“/usr/lib/python2.6/site packages/mrjob/runner.py”,运行中的第458行
self._run()文件“/usr/lib/python2.6/site packages/mrjob/hadoop.py”,第238行,在_run中
self.\u上传本地文件到hdfs()文件“/usr/lib/python2.6/site packages/mrjob/hadoop.py”,第265行,在
_上传本地文件到hdfs
文件“/usr/lib/python2.6/site packages/mrjob/hadoop.py”,第273行,在
_mkdir_on_hdfs
self.invoke_hadoop(['fs','-mkdir',path])文件“/usr/lib/python2.6/site packages/mrjob/fs/hadoop.py”,第109行,在
调用hadoop
引发被调用进程错误(proc.returncode,args)子进程。被调用进程错误:命令'['/usr/bin/hadoop','fs',
“-mkdir”,
'hdfs:///user/zkdmkrq/tmp/mrjob/mr_word_freq_count.zkdmkrq.20150226.172000.917957/files/']'
返回非零退出状态1

我实际上找到了这个问题的解决方案。 我不得不修改mrjob/hadoop.py文件。这是确切的答案

希望它能帮助任何遇到这个问题的人