복붙노트

[HADOOP] 커넥터를 ojdbc6 사용 Sqoop을 가져 오기

HADOOP

커넥터를 ojdbc6 사용 Sqoop을 가져 오기

나는 내가 명시 적으로 -libjars를 사용하여 항아리를 제공하고 클러스터에 Sqoop을 해방에 ojdbc 항아리를 넣어 수있는 권한을 가지고 있지 않는 한, 오라클 11g에서 데이터를 가져올 Sqoop을 사용하고 있지만, 내가 사용한 제외하고 ... 코드를 던지고있다 : Sqoop을 평가 -libjars /root/shared_folder/ojdbc6.jar --driver oracle.jdbc.OracleDriver --connect JDBC : 신탁 : 얇은 : @ 127.0.0.1 : 1521 : XE --username srivastavaaman --password 관리자 --query 'SELECT *에서 TestTable1 '

다음 출력은 : 경고 : /usr/lib/sqoop/../accumulo가 존재하지 않습니다! Accumulo 수입은 실패합니다. 당신의 Accumulo 설치의 루트에 $의 ACCUMULO_HOME을 설정하십시오. 17/04/05 2시 48분 40초 정보 sqoop.Sqoop : 실행 Sqoop을 버전 : 1.4.4.2.1.1.0-385 17/04/05 2시 48분 41초는 tool.BaseSqoopTool 경고 : 안전하지 명령 줄에 암호를 설정. 대신 -P를 사용하는 것이 좋습니다. 17/04/05 2시 48분 41초는 WARN sqoop.ConnFactory : 그러나 적절한 연결 관리자가 설정되지 않는 명시 적 드라이버로 설정되어 --driver 매개 변수 (--connection 매니저를 통해). Sqoop을 다시 org.apache.sqoop.manager.GenericJdbcManager에 떨어질 것입니다. 다음 번에 사용되어야하는 연결 관리자가 명시 적으로 지정하십시오. 17/04/05 2시 48분 41초 정보 manager.SqlManager : 1000의 기본 fetchSize를 사용하여 java.lang.RuntimeException가 : 17/04/05 2시 48분 41초 오류 sqoop.Sqoop : Sqoop을 실행있어 예외가 DB 드라이버 클래스를로드 할 수 없습니다 : oracle.jdbc.OracleDriver를 java.lang.RuntimeException가 : DB 드라이버 클래스를로드 할 수 없습니다 : oracle.jdbc.OracleDriver를     org.apache.sqoop.manager.SqlManager.makeConnection에서 (SqlManager.java:797)     org.apache.sqoop.manager.GenericJdbcManager.getConnection에서 (GenericJdbcManager.java:52)     org.apache.sqoop.tool.EvalSqlTool.run에서 (EvalSqlTool.java:64)     org.apache.sqoop.Sqoop.run에서 (Sqoop.java:147)     org.apache.hadoop.util.ToolRunner.run에서 (ToolRunner.java:70)     org.apache.sqoop.Sqoop.runSqoop에서 (Sqoop.java:183)     org.apache.sqoop.Sqoop.runTool에서 (Sqoop.java:222)     org.apache.sqoop.Sqoop.runTool에서 (Sqoop.java:231)     org.apache.sqoop.Sqoop.main에서 (Sqoop.java:240)

같은 ojdbc6.jar가 로컬 컴퓨터에서 Sqoop을 해방에 배치되는 경우가 정상적으로 작동하고있는 것입니다.

해결법

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

    1.-libjars 인수는 일반적으로 Sqoop을 사용하지 않고, 하둡의 내부 인수 구문 분석 시스템의 일부로서 추가됩니다.

    -libjars 인수는 일반적으로 Sqoop을 사용하지 않고, 하둡의 내부 인수 구문 분석 시스템의 일부로서 추가됩니다.

    $ HADOOP_CLASSPATH 변수에 jar 파일의 경로를 추가합니다.

    export HADOOP_CLASSPATH=$HADOOP_CLASSPATH:/root/shared_folder/ojdbc6.jar
    sqoop eval --driver oracle.jdbc.OracleDriver --connect jdbc:oracle:thin:@127.0.0.1:1521:XE --username ****** --password ***** --query 'SELECT * from TestTable1'
    
  2. from https://stackoverflow.com/questions/43228062/sqoop-import-using-ojdbc6-connector by cc-by-sa and MIT license