[HADOOP] Hadoop HADOOP_CLASSPATH 문제
HADOOPHadoop HADOOP_CLASSPATH 문제
이 질문은 근로자가 사용하기 위해 전체 클러스터에서 항아리를 배포하는 것을 의미하지 않습니다.
이것은 클라이언트 시스템에 여러 개의 추가 라이브러리를 지정하는 것을 의미합니다. 더 구체적으로 : 나는 SequenceFile의 내용을 검색하기 위해 다음 명령을 실행하려고한다.
/path/to/hadoop/script fs -text /path/in/HDFS/to/my/file
그것은 나 에게이 오류를 throw합니다 : 텍스트 : java.io.IOException : WritableName 클래스를로드 할 수 없습니다 : util.io.DoubleArrayWritable
DoubleArrayWritable이라는 쓰기 가능한 클래스가 있습니다. 사실, 다른 컴퓨터에서는 모든 것이 잘 작동합니다.
HADOOP_CLASSPATH를 설정하여 해당 클래스를 포함하는 jar를 포함 시키려고했지만 결과는 없습니다. 실제로, 다음을 실행할 때 :
/path/to/hadoop/script classpath
결과에는 HADOOP_CLASSPATH에 추가 한 jar 파일이 없습니다.
문제는 : hadoop을 실행할 때 여분의 라이브러리를 어떻게 지정합니까 (hadoop 스크립트가 클래스 경로에 자동으로 포함하는 라이브러리 이외의 다른 라이브러리를 추가로 의미 함)
도움이 될만한 몇 가지 정보 :
해결법
-
==============================
1.HADOOP_CLASSPATH를 설정할 수 있으면
HADOOP_CLASSPATH를 설정할 수 있으면
export HADOOP_CLASSPATH=/path/to/jar/myjar.jar:$HADOOP_CLASSPATH; \ hadoop fs -text /path/in/HDFS/to/my/file
그 일을 할 것입니다. 귀하의 경우이 변수가 hadoop-env.sh에서 재정의되므로 그러므로 -libjars 옵션을 대신 사용해보십시오.
hadoop fs -libjars /path/to/jar/myjar.jar -text /path/in/HDFS/to/my/file
또는 FsShell을 수동으로 호출하십시오.
java -cp $HADOOP_HOME/lib/*:/path/to/jar/myjar.jar:$CLASSPATH \ org.apache.hadoop.fs.FsShell -conf $HADOOP_HOME/conf/core-site.xml \ -text /path/in/HDFS/to/my/file
-
==============================
2.jar 파일을 기본 CLASSPATH 변수에 추가하고 HADOOP_CLASSPATH를 추가하십시오. 그런 다음 명령을 실행하십시오.
jar 파일을 기본 CLASSPATH 변수에 추가하고 HADOOP_CLASSPATH를 추가하십시오. 그런 다음 명령을 실행하십시오.
export CLASSPATH = / your / jar / file / myjar.jar : $ CLASSPATH : $ HADOOP_CLASSPATH / path / to / hadoop / 스크립트 fs -text / path / in / HDFS / to / my / file
-
==============================
3.누군가 hadoop classpath를 확인하고 싶다면, hadoop classpath를 터미널에 입력한다. 컴파일하려면 다음을 사용하십시오. javac -cp $ (hadoop classpath) : path / to / jars / * java_file.java
누군가 hadoop classpath를 확인하고 싶다면, hadoop classpath를 터미널에 입력한다. 컴파일하려면 다음을 사용하십시오. javac -cp $ (hadoop classpath) : path / to / jars / * java_file.java
from https://stackoverflow.com/questions/12940239/hadoop-hadoop-classpath-issues by cc-by-sa and MIT license
'HADOOP' 카테고리의 다른 글
[HADOOP] Hadoop에서 기존 파일의 블록 크기 변경 (0) | 2019.06.17 |
---|---|
[HADOOP] 하이브의 문자열을 타임 스탬프로 변환 (0) | 2019.06.17 |
[HADOOP] 하둡 얀 컨테이너가 충분한 공간을 할당하지 않음 (0) | 2019.06.17 |
[HADOOP] hdfs (namenode)에서 사용 된 네임 스페이스 및 메타 데이터의 의미는 무엇입니까? (0) | 2019.06.17 |
[HADOOP] Amazon EC2 / S3를 사용하여 Hadoop 클러스터에서 HDFS로 로컬 데이터를 복사 할 때 발생하는 문제 (0) | 2019.06.17 |