복붙노트

[HADOOP] Hadoop HADOOP_CLASSPATH 문제

HADOOP

Hadoop 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. ==============================

    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. ==============================

    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. ==============================

    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

  4. from https://stackoverflow.com/questions/12940239/hadoop-hadoop-classpath-issues by cc-by-sa and MIT license