복붙노트

[HADOOP] 맵리 듀스에 MySQL의 오류로 Sqoop을 수출 지역 CSV

HADOOP

맵리 듀스에 MySQL의 오류로 Sqoop을 수출 지역 CSV

나는 MySQL의 테이블 "테스트"에 로컬 csv 파일을 내보내려고 :

$ sqoop export -fs local -jt local --connect jdbc:mysql://172.16.21.64:3306/cf_ae07c762_41a9_4b46_af6c_a29ecb050204 --username username --password password --table test --export-dir file:///home/username/test.csv

그러나, 나는 mapreduce.tar.gz 찾을 수 없습니다 말을 이상한 오류가 발생했습니다 :

Warning: /usr/hdp/2.5.0.0-1245/hbase does not exist! HBase imports will fail.
Please set $HBASE_HOME to the root of your HBase installation.
Warning: /usr/hdp/2.5.0.0-1245/accumulo does not exist! Accumulo imports will fail.
Please set $ACCUMULO_HOME to the root of your Accumulo installation.
17/04/07 14:22:14 INFO sqoop.Sqoop: Running Sqoop version: 1.4.6.2.5.0.0-1245
17/04/07 14:22:14 WARN fs.FileSystem: "local" is a deprecated filesystem name. Use "file:///" instead.
17/04/07 14:22:14 WARN tool.BaseSqoopTool: Setting your password on the command-line is insecure. Consider using -P instead.
17/04/07 14:22:15 INFO manager.MySQLManager: Preparing to use a MySQL streaming resultset.
17/04/07 14:22:15 INFO tool.CodeGenTool: Beginning code generation
17/04/07 14:22:15 INFO manager.SqlManager: Executing SQL statement: SELECT t.* FROM `test2` AS t LIMIT 1
17/04/07 14:22:15 INFO manager.SqlManager: Executing SQL statement: SELECT t.* FROM `test2` AS t LIMIT 1
17/04/07 14:22:15 INFO orm.CompilationManager: HADOOP_MAPRED_HOME is /usr/hdp/2.5.0.0-1245/hadoop-mapreduce
Note: /tmp/sqoop-bedrock/compile/009603476b0dfc767b1b94c0607bf6fa/test2.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
17/04/07 14:22:17 INFO orm.CompilationManager: Writing jar file: /tmp/sqoop-bedrock/compile/009603476b0dfc767b1b94c0607bf6fa/test2.jar
17/04/07 14:22:17 INFO mapreduce.ExportJobBase: Beginning export of test2
17/04/07 14:22:17 INFO jvm.JvmMetrics: Initializing JVM Metrics with processName=JobTracker, sessionId=
17/04/07 14:22:17 ERROR tool.ExportTool: Encountered IOException running export job: java.io.FileNotFoundException: File file:/hdp/apps/2.5.0.0-1245/mapreduce/mapreduce.tar.gz does not exist

이 파일은 내 로컬 컴퓨터에서 그러나 볼 수 있습니다 :

/usr/hdp/2.5.0.0-1245/hadoop/mapreduce.tar.gz

/data/hadoop/yarn/local/filecache/13/mapreduce.tar.gz

사람은 문제가 무엇을 알고? 난 그냥이 가이드를 다음했다 :

http://ingest.tips/2015/02/06/use-sqoop-transfer-csv-data-local-filesystem-relational-database/

해결법

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

    1.속성 mapreduce.application.framework.path는 mapred-site.xml 파일에 설정이 값 /hdp/apps/2.5.0.0-1245/mapreduce/mapreduce.tar.gz 있습니다. 이 HDFS에서 파일을 맵리 듀스 프레임 워크 아카이브 및 지점에 대한 경로입니다.

    속성 mapreduce.application.framework.path는 mapred-site.xml 파일에 설정이 값 /hdp/apps/2.5.0.0-1245/mapreduce/mapreduce.tar.gz 있습니다. 이 HDFS에서 파일을 맵리 듀스 프레임 워크 아카이브 및 지점에 대한 경로입니다.

    여기서, Sqoop을 -fs의 존재는이 로컬 속성 트리거 LocalFS는 경로 설정 될 필요가있다. 맵리 듀스 아카이브 파일의 로컬 경로에서이 부동산 값을 무시하십시오.

    $ sqoop export -fs local -jt local -D 'mapreduce.application.framework.path=/usr/hdp/2.5.0.0-1245/hadoop/mapreduce.tar.gz' --connect jdbc:mysql://172.16.21.64:3306/cf_ae07c762_41a9_4b46_af6c_a29ecb050204 --username username --password password --table test --export-dir file:///home/username/test.csv
    
  2. from https://stackoverflow.com/questions/43287363/sqoop-export-local-csv-to-mysql-error-on-mapreduce by cc-by-sa and MIT license