2016-05-08 10 views
0

Ich versuche, Daten aus MySQL-Tabelle in hdfs zu importieren. Ich bin mit dem unten Sqoop ImportbefehlKann nicht in Datanode in Hadoop repliziert werden, während aus der MySQL-Datenbank importiert

sqoop import --connect jdbc:mysql://localhost:3306/employee --username root --password *** --table Emp --m 1 

Ich erhalte die folgenden Fehler

16/05/07 20:01:18 ERROR tool.ImportTool: Encountered IOException running import job: java.io.FileNotFoundException: File does not exist: hdfs://localhost:54310/usr/lib/sqoop/lib/parquet-format-2.0.0.jar 
at org.apache.hadoop.hdfs.DistributedFileSystem$18.doCall(DistributedFileSystem.java:1122) 
at org.apache.hadoop.hdfs.DistributedFileSystem$18.doCall(DistributedFileSystem.java:1114) 
at org.apache.hadoop.fs.FileSystemLinkResolver.resolve(FileSystemLinkResolver.java:81) 
at org.apache.hadoop.hdfs.DistributedFileSystem.getFileStatus(DistributedFileSystem.java:1114) 
at org.apache.hadoop.mapreduce.filecache.ClientDistributedCacheManager.getFileStatus(ClientDistributedCacheManager.java:288) 
at org.apache.hadoop.mapreduce.filecache.ClientDistributedCacheManager.getFileStatus(ClientDistributedCacheManager.java:224) 
at org.apache.hadoop.mapreduce.filecache.ClientDistributedCacheManager.determineTimestamps(ClientDistributedCacheManager.java:93) 
at org.apache.hadoop.mapreduce.filecache.ClientDistributedCacheManager.determineTimestampsAndCacheVisibilities(ClientDistributedCacheManager.java:57) 
at org.apache.hadoop.mapreduce.JobSubmitter.copyAndConfigureFiles(JobSubmitter.java:269) 
at org.apache.hadoop.mapreduce.JobSubmitter.copyAndConfigureFiles(JobSubmitter.java:390) 
at org.apache.hadoop.mapreduce.JobSubmitter.submitJobInternal(JobSubmitter.java:483) 
at org.apache.hadoop.mapreduce.Job$10.run(Job.java:1296) 
at org.apache.hadoop.mapreduce.Job$10.run(Job.java:1293) 
at java.security.AccessController.doPrivileged(Native Method) 
at javax.security.auth.Subject.doAs(Subject.java:415) 
at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1628) 
at org.apache.hadoop.mapreduce.Job.submit(Job.java:1293) 
at org.apache.hadoop.mapreduce.Job.waitForCompletion(Job.java:1314) 
at org.apache.sqoop.mapreduce.ImportJobBase.doSubmitJob(ImportJobBase.java:196) 
at org.apache.sqoop.mapreduce.ImportJobBase.runJob(ImportJobBase.java:169) 
at org.apache.sqoop.mapreduce.ImportJobBase.runImport(ImportJobBase.java:266) 
at org.apache.sqoop.manager.SqlManager.importTable(SqlManager.java:673) 
at org.apache.sqoop.manager.MySQLManager.importTable(MySQLManager.java:118) 
at org.apache.sqoop.tool.ImportTool.importTable(ImportTool.java:497) 
at org.apache.sqoop.tool.ImportTool.run(ImportTool.java:605) 
at org.apache.sqoop.Sqoop.run(Sqoop.java:143) 
at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70) 
at org.apache.sqoop.Sqoop.runSqoop(Sqoop.java:179) 
at org.apache.sqoop.Sqoop.runTool(Sqoop.java:218) 
at org.apache.sqoop.Sqoop.runTool(Sqoop.java:227) 
at org.apache.sqoop.Sqoop.main(Sqoop.java:236) 

Ich habe das Parkett-Format-2.0.0.jar bei usr/lib/Sqoop Ordner, aber auch dann zeigt es den Fehler an.

Ich habe versucht, alle Sqoop lib zu dem hdfs zu importieren, aber dann kann ich tun, dass sie die folgenden Fehler

16/05/07 18:40:11 WARN hdfs.DFSClient werfen: DataStreamer Ausnahme org.apache.hadoop.ipc.RemoteException (java.io.IOException): Datei /usr/lib/sqoop/lib/xz-1.0.jar. COPYING konnte nur auf 0 Knoten statt minReplication (= 1) repliziert werden. Es laufen 0 Datenknoten, und bei dieser Operation werden keine Knoten ausgeschlossen. bei org.apache.hadoop.hdfs.server.blockmanagement.BlockManager.chooseTarget4NewBlock (BlockManager.java:1549) bei org.apache.hadoop.hdfs.server.namenode.FSNamesystem.getAdditionalBlock (FSNamesystem.java:3200) bei org.apache.hadoop.hdfs.server.namenode.NameNodeRpcServer.addBlock (NameNodeRpcServer.java:641) bei org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolServerSideTranslatorPB.addBlock (ClientNamenodeProtocolServerSideTranslatorPB.java:482) bei org.apache. hadoop.hdfs.protocol.proto.ClientNamenodeProtocolProtos $ ClientNamenodeProtocol $ 2.callBlockingMethod (ClientNamenodeProtocolProtos.java) bei org.apache.hadoop.ipc.ProtobufRpcEngine $ Server $ ProtoBufRpcInvoker.call (ProtobufRpcEngine.java:619) bei org.apache.hadoop .ipc.RPC $ Server.call (RPC.java:962) bei org.apache.hadoop.ipc.Server $ Handler $ 1.run (Server.java:2039) bei org.apache.hadoop.ipc.Server $ Handler $ 1.run (Server.java:2035) bei Java. security.AccessController.doPrivileged (native Methode) bei javax.security.auth.Subject.doAs (Subject.java:415) bei

Was jetzt tun? Ich kann die JAR-Dateien nicht in das HDFS kopieren und auch die Daten nicht in HDFS-Form von MySQL importieren.

habe ich versucht, diese Lösung sqoop import eror - File does not exist:

aber aus dem zweiten Schritt nicht fortgesetzt werden kann. Ich habe auch den Cache gelöscht und das Hadoop-Dateisystem neu gestartet.

Dank

Antwort

0

Für DataNode Replikationsfehler nach können die Gründe sein:

Datanodes doesn’t have enough disk space to store the blocks 

Namenode can not reach Datanode(s) or Datanode(s) could be down/unavailable 

die Konnektivität zwischen NameNode und DataNode Stellen Sie sicher, (e) und auch die DataNode (en) haben ausreichend Platz zum Speichern die neuen Blöcke.

Wenn genügend Speicherplatz vorhanden ist, müssen Sie Ihren nameNode neu formatieren.

+0

java.io.IOException: Inkompatible clusterIDs in/usr/local/hadoop_store/hdfs/datanode: namencode clusterID = CID-c5c99144-3198-443a-8af0-cd3e3407f706; Ich erhalte diesen Fehler im Datanode-Protokoll. – CoderTest

Verwandte Themen