2016-05-08 2 views
0

mysqlテーブルからhdfsにデータをインポートしようとしています。私は以下のエラーにMySQLデータベースからインポート中にHadoopのデータノードにレプリケートできません

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) 

を取得しています私はUSR/sqoop/libフォルダに寄木細工のフォーマット-2.0.0.jarを持ってsqoop importコマンド以下

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

を使用して、それでもいますエラーを表示します。

私はHDFSに、すべてのsqoop libにをインポートしようとしたが、その後、私はその下のエラーに

16/05/07 18時40分11秒を投げることを行うことができますhdfs.DFSClientをWARN:DataStreamer例外を java.lang.Exception - コピーは、minReplication(= 1)の代わりに0ノードにしか複製できませんでした。この操作では、0のデータノードが実行されており、ノードは除外されていません。 at org.apache.hadoop.hdfs.server.blockmanagement.BlockManager.chooseTarget4NewBlock(BlockManager.java:1549) at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.getAdditionalBlock(FSNamesystem.java:3200) at org.apache.hadoop.hdfs.server.namenode.NameNodeRpcServer.addBlock(NameNodeRpcServer.java:641)org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolServerSideTranslatorPB.addBlock(ClientNamenodeProtocolServerSideTranslatorPB.java:482)で org.apacheで 。 org.apache.hadoopでorg.apache.hadoop.ipc.ProtobufRpcEngine $サーバー$ ProtoBufRpcInvoker.call(ProtobufRpcEngine.java:619) でhadoop.hdfs.protocol.proto.ClientNamenodeProtocolProtos $ ClientNamenodeProtocol $ 2.callBlockingMethod(ClientNamenodeProtocolProtos.java) .ipc.RPC $ Server.call(RPC.java:962) at org.apache.hadoop.ipc.Server $ Handler $ 1.run(Server.java:2039) at org.apache.hadoop.ipc.Server $ Handler $ 1.run(Server.java:2035) at java。

でjavax.security.auth.Subject.doAs(Subject.java:415) で(ネイティブメソッド) security.AccessController.doPrivileged今何ができますか? jarファイルをHDFSにコピーすることはできません。また、データをHDFS形式のMySQLにインポートすることもできません。

私はこの溶液 sqoop import eror - File does not exist:

を試みたが、第二段階から進行することができません。キャッシュをクリアし、Hadoopファイルシステムを再起動しました。データノードの複製エラーのために

おかげ

答えて

0

、次は理由があり:

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

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

は名前ノードとデータノード(S)ともデータノード(複数可)間の接続は、ストアに十分なスペースがあることを確認してください新しいブロック。

ディスク容量が十分ある場合は、nameNodeを再フォーマットする必要があります。

+0

java.io.IOException:/ usr/local/hadoop_store/hdfs/datanodeの互換性のないクラスタID:namenode clusterID = CID-c5c99144-3198-443a-8af0-cd3e3407f706;私はこのエラーをdatanodeログに記録しています。 – CoderTest

関連する問題