2016-12-29 12 views
0

fedora25にcloudera HDCをインストールした後、ファイルは作成できません。ローカルファイルシステムからHDFSにデータをコピーすることはできません。clouderaのローカルファイルシステムからhadoop/hdfsにファイルをコピーできません

これは私が使用するコマンドです:

sudo -u hdfs hadoop fs -copyFromLocal /home/mohammed/Documents/bbc.txt /kareem/corpora/ 

、これは私が端末から得るものです:

SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder". 
SLF4J: Defaulting to no-operation (NOP) logger implementation 
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details. 
copyFromLocal: '/home/mohammed/Documents/bbc.txt': No such file or directory 

この問題を克服するためにどのように?

ご親切なご協力をよろしくお願い申し上げます。

+0

は '/ホーム/モハメッド/ドキュメント/ bbc.txt'ファイルが存在しないとアクセス権を持っていますhdfsユーザーに? – mrsrinivas

答えて

0

ローカルパスが/home/mohammedであるため、ユーザがhdfsコマンドを実行するときにsudoを実行しているため、アクセスできません。 hdfsのローカルLinuxユーザーは/home/mohammedを入力できないため、このコマンドはNo such file or directoryというエラーをスローし、提供されたファイルを見つけたり読み取ることができないために終了します。

ほとんどのパッケージHDFSインストールでは、通常、hdfsユーザは分散ファイルシステムのスーパーユーザであり、管理コマンドは通常そのユーザとして実行されます。ただし、通常のユーザーとしてhdfsユーザーを使用して権限と所有権をプロビジョニングした後、通常のユーザーとしてデータを処理することができます。あなたのケースでは

このアカウントはまた、sudo権限を持っている場合、あなたは、あなたのmohammedユーザーとして、次の操作を行うことができます

# Superuser-provisioning part (do once) 

# Ensure the HDFS directory exists by creating it as a superuser 
~> sudo -u hdfs hadoop fs -mkdir -p /kareem/corpora 
# Ensure also the HDFS-home path exists by creating it as a superuser 
~> sudo -u hdfs hadoop fs -mkdir -p /user/mohammed 
# Grant ownership entirely to user mohammed for both paths 
~> sudo -u hdfs hadoop fs -chown -R mohammed:mohammed /kareem /user/mohammed 

# Final usage part (continue or repeat as many times) without superuser 

# Upload the local file (note the absence of sudo) 
~> hadoop fs -copyFromLocal -f /home/mohammed/Documents/bbc.txt /kareem/corpora/ 
# Now read it, etc., all done as the regular non-'hdfs' user 
~> hadoop fs -text /home/mohammed/Documents/bbc.txt 
関連する問題