2016-12-29 3 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' 파일이 존재하고 액세스 할 수 않습니다이 계정은 또한 sudo는 권한이있는 경우

사건에 대한

, 당신은 당신의 mohammed 사용자로 다음과 같은 작업을 수행 할 수 hdfs 사용자에게? – mrsrinivas

답변

0

로컬 경로가 /home/mohammed 인 사용자에게 hdfs으로 액세스 할 수 없다는 것이 문제가됩니다. 전체 명령을 실행하는 것으로 sudoing하고 있습니다. hdfs의 로컬 Linux 사용자는 /home/mohammed을 입력 할 수 없으므로이 명령은 No such file or directory 오류를 발생시키고 제공된 파일을 찾거나 읽을 수 없기 때문에 종료됩니다.

대부분의 패키지 HDFS 설치에서 일반적으로 hdfs 사용자는 분산 파일 시스템의 수퍼 유저이며 일반적으로 관리 명령이 해당 사용자로 실행됩니다. 그러나 일반 사용자의 권한과 소유권을 제공하기 위해 hdfs 사용자를 사용한 후에도 일반 사용자로 데이터 작업을 수행 할 수 있고해야합니다.

# 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