2013-09-25 8 views
0

저는 sqoop을 처음 사용하고 hadoopguide 데이터베이스의 MYSQL 테이블 위젯 테이블에있는 테이블을 가져 오려고합니다.가져 오기 중 Sqoop 오류가 발생했습니다.

하둡 버전 0.20을 사용하고 있습니다.

내 Sqoop을은 Sqoop을-1.4.4.bin__hadoop - 0.20

내가 명령을 실행하고이 : 나는 누구를

Warning: /usr/lib/hcatalog does not exist! HCatalog jobs will fail. 
Please set $HCAT_HOME to the root of your HCatalog installation. 
13/09/25 15:29:41 INFO manager.MySQLManager: Preparing to use a MySQL streaming  resultset. 
13/09/25 15:29:41 INFO tool.CodeGenTool: Beginning code generation 
13/09/25 15:29:41 INFO manager.SqlManager: Executing SQL statement: SELECT t.* FROM  `widgets` AS t LIMIT 1 
13/09/25 15:29:41 INFO manager.SqlManager: Executing SQL statement: SELECT t.* FROM `widgets` AS t LIMIT 1 
13/09/25 15:29:41 INFO orm.CompilationManager: HADOOP_MAPRED_HOME is /usr/local/hadoop 
13/09/25 15:29:41 INFO orm.CompilationManager: Found hadoop core jar at: /usr/local/hadoop/hadoop-0.20.2-core.jar 
Note: /tmp/sqoop-ubuntu/compile/348861f092b25aac3fae4089da9abdf0/widgets.java uses or  overrides a deprecated API. 
Note: Recompile with -Xlint:deprecation for details. 
13/09/25 15:29:42 INFO orm.CompilationManager: Writing jar file: /tmp/sqoop- ubuntu/compile/348861f092b25aac3fae4089da9abdf0/widgets.jar 
13/09/25 15:29:42 WARN manager.MySQLManager: It looks like you are importing from mysql. 
13/09/25 15:29:42 WARN manager.MySQLManager: This transfer can be faster! Use the -- direct 
13/09/25 15:29:42 WARN manager.MySQLManager: option to exercise a MySQL-specific fast  path. 
13/09/25 15:29:42 INFO manager.MySQLManager: Setting zero DATETIME behavior to  convertToNull (mysql) 
13/09/25 15:29:42 INFO mapreduce.ImportJobBase: Beginning import of widgets 
Exception in thread "main" java.lang.NoSuchMethodError:  org.apache.hadoop.mapred.JobConf.getCredentials()Lorg/apache/hadoop/security/Credentials; 
    at  org.apache.sqoop.mapreduce.db.DBConfiguration.getPassword(DBConfiguration.java:304) 
    at  org.apache.sqoop.mapreduce.db.DBConfiguration.getConnection(DBConfiguration.java:272) 
    at org.apache.sqoop.mapreduce.db.DBInputFormat.getConnection(DBInputFormat.java:187) 
    at org.apache.sqoop.mapreduce.db.DBInputFormat.setConf(DBInputFormat.java:162) 
    at org.apache.hadoop.util.ReflectionUtils.setConf(ReflectionUtils.java:62) 
    at org.apache.hadoop.util.ReflectionUtils.newInstance(ReflectionUtils.java:117) 
    at org.apache.hadoop.mapred.JobClient.writeNewSplits(JobClient.java:882) 
    at org.apache.hadoop.mapred.JobClient.submitJobInternal(JobClient.java:779) 
    at org.apache.hadoop.mapreduce.Job.submit(Job.java:432) 
    at org.apache.hadoop.mapreduce.Job.waitForCompletion(Job.java:447) 
    at org.apache.sqoop.mapreduce.ImportJobBase.doSubmitJob(ImportJobBase.java:186) 
    at org.apache.sqoop.mapreduce.ImportJobBase.runJob(ImportJobBase.java:159) 
    at org.apache.sqoop.mapreduce.ImportJobBase.runImport(ImportJobBase.java:239) 
    at org.apache.sqoop.manager.SqlManager.importTable(SqlManager.java:600) 
    at org.apache.sqoop.manager.MySQLManager.importTable(MySQLManager.java:118) 
    at org.apache.sqoop.tool.ImportTool.importTable(ImportTool.java:413) 
    at org.apache.sqoop.tool.ImportTool.run(ImportTool.java:502) 
    at org.apache.sqoop.Sqoop.run(Sqoop.java:145) 
    at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:65) 
    at org.apache.sqoop.Sqoop.runSqoop(Sqoop.java:181) 
    at org.apache.sqoop.Sqoop.runTool(Sqoop.java:220) 
    at org.apache.sqoop.Sqoop.runTool(Sqoop.java:229) 
    at org.apache.sqoop.Sqoop.main(Sqoop.java:238) 

을 오류 로그 수 무엇입니까

sqoop import --connect jdbc:mysql://localhost/hadoopguide --table widgets -m 1 

이됩니다 그것에 대해 어떤 생각이든.

+0

'sqoop list-tables --connect jdbc : mysql : // localhost/hadoopguide'를 사용하여 테이블을 나열 할 수 있습니까? – ssoto

답변

0

Hadoop 릴리스 0.20은 많은 기능이 부족한 매우 오래된 릴리스입니다. Sqoop이 요구하는 기능 중 하나는 1.x에 추가 된 보안 추가 기능입니다. 결과적으로 Sqoop은 베어 0.20에서 작동하지 않을 것입니다. 적어도 CDH3u1이나 Hadoop 1.x는 필요합니다. Hadoop 클러스터를 업그레이드 할 것을 강력하게 제안합니다.

0

하이브를 설치 한 경우 hcatalog가 함께 설치됩니다. 지금은 그렇지 saperately hcatalog 및 설정 홈 설치 경로를

cd ~ 
gedit .bashrc 
    export HCAT_HOME=${HIVE_HOME}/hcatalog/ 
    export PATH=$HCAT_HOME/bin:$PATH 

source .bashrc //to refresh the .bashrc file 

아래로 .bashrc에서 HCAT_HOME을 설정합니다.

관련 문제