복붙노트

[HADOOP] Sqoop2 서버를 시작 하둡 구성 클래스를 찾을 수 없습니다 (1.99.7)

HADOOP

Sqoop2 서버를 시작 하둡 구성 클래스를 찾을 수 없습니다 (1.99.7)

내가 밖으로 테스트 Sqoop을 최신 버전 (1.99.7)와 하둡을 사용하고 Sqoop을 2 서버를 실행하는 경우에 일하고 있어요, 나는 다음과 같은 오류가 발생합니다 :

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/hadoop/conf/Configuration
at org.apache.sqoop.security.authentication.SimpleAuthenticationHandler.secureLogin(SimpleAuthenticationHandler.java:36)
at org.apache.sqoop.security.AuthenticationManager.initialize(AuthenticationManager.java:98)
at org.apache.sqoop.core.SqoopServer.initialize(SqoopServer.java:57)
at org.apache.sqoop.server.SqoopJettyServer.<init>(SqoopJettyServer.java:67)
at org.apache.sqoop.server.SqoopJettyServer.main(SqoopJettyServer.java:177)

Caused by: java.lang.ClassNotFoundException: org.apache.hadoop.conf.Configuration
        at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
        ... 5 more

나의 현재 설정 :

의 표시에 필요한 JAR가에 위치로서 내가 알 수있는 최저은 하둡 클래스 경로, Sqoop을에 ​​의해로드되지 않고있다 / usr / 지방 / 하둡 / 공유 / *.

나는 온라인으로 찾을 수있었습니다 문서의 대부분은 사전 1.99.7입니다 만,이 버전에서 하나의 큰 변화는 Sqoop을 서버가 그렇게 모든 카탈 구성 옵션의 이론에 불과하다, 부두에 톰캣에서 이동한다는 것입니다.

누군가가 나를 Sqoop을 서버에서 실행하는 방법을 알아내는 데 도움이 수 있습니까?

해결법

  1. ==============================

    1.아, 대부분 그것을 알아 냈다.

    아, 대부분 그것을 알아 냈다.

    sqoop.sh 스크립트가 설정 한 환경 변수에 따라 클래스 경로에서 항아리의 모든로드처럼 보인다. 스크립트가 그들을 JAR 파일이 들어있는 디렉토리를 가리키는 될 것으로 예상되는 동안 고정 표시기 컨테이너는, 그것은 하둡 설치의 루트 경로로 설정을 찾고 모든 환경 변수가 있습니다.

    HADOOP_PREFIX=/usr/local/hadoop
    HADOOP_HDFS_HOME=/usr/local/hadoop
    HADOOP_COMMON_HOME=/usr/local/hadoop
    HADOOP_YARN_HOME=/usr/local/hadoop
    HADOOP_CONF_DIR=/usr/local/hadoop/etc/hadoop
    HADOOP_MAPRED_HOME=/usr/local/hadoop
    

    그래서 스크립트는 스크립트에서 호출되는 $ HADOOP_HOME 디렉토리 및 후속 하위 디렉토리를 통해이 디렉토리를 선택합니다.

    마지막 단계는 다음 sqoop.properties 파일을 편집하고 맵리 듀스 설정이 올바른 디렉토리로 설정했다 확인했다 :

    org.apache.sqoop.submission.engine.mapreduce.configuration.directory=/usr/local/hadoop/etc/hadoop
    

    그런 다음 서버가 시작!

    나는 다른 사람이 가로 지르는 여기 경우이 떠날거야 ...

  2. from https://stackoverflow.com/questions/40774846/unable-to-find-hadoop-configuration-classes-when-starting-sqoop2-server-1-99-7 by cc-by-sa and MIT license