Python mrjob nofilefind cloudera cdh 5群集异常
我在hadoop集群上尝试运行mrjob示例时遇到此错误。 我已经设置了hadoop_主页,还可以在hdfs文件系统上创建一个新目录。 如果我使用hadoop流,我可以运行python map reduce。只有mrjob我才知道这个问题 运行此命令时: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
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文件。这是确切的答案
希望它能帮助任何遇到这个问题的人