2

ファイルをhdfsにコピーするためのpythonスクリプトを作成しようとしています。私はubuntuに取り組んでおり、hadoopとpydoopをインストールしています。次のコードは私のスクリプトです:

import pydoop.hdfs as hdfs

class COPYTOHDFS():

    local_path = '/home/user/test.txt'
    hdfs_path = '/testfile'
    host = 'master'
    port = 9000
    hdfsobj = hdfs.hdfs(host, port, user='cloudera-user', groups=['supergroup'])
    hdfsobj.copy(local_path, hdfsobj, hdfs_path)

そしてエラーはここにあります:

Traceback (most recent call last):
  File "COPYTOHDFS.py", line 3, in <module>
    class COPYTOHDFS():
  File "COPYTOHDFS.py", line 10, in COPYTOHDFS
    hdfsobj.copy(local_path, hdfsobj, hdfs_path)
  File "/usr/local/lib/python2.7/dist-packages/pydoop-0.5.2_rc2-py2.7-linux-x86_64.egg/pydoop/hdfs.py", line 458, in copy
    return super(hdfs, self).copy(from_path, to_hdfs, to_path)
IOError: Cannot copy /home/user/test.txt to filesystem on master

エラーには詳細がありません。何か案が?

4

1 に答える 1

2

conf/core-site.xml で、fs 操作用の tmp ディレクトリを設定します。これらのディレクトリで実行中のユーザーの所有権と許可を設定するのを忘れた場合は、IO 例外が発生します。それを確認してください。

于 2012-04-30T10:54:59.463 に答える