sqoop kann den inkrementellen Status nicht im Metastore speichern

Ich erhalte dies beim Speichern des inkrementellen Importstatus

16/05/15 21:43:05 INFO tool.ImportTool: Saving incremental import state to the metastore
16/05/15 21:43:56 ERROR tool.ImportTool: Encountered IOException running import job: java.io.IOException: Error communicating with database
at org.apache.sqoop.metastore.hsqldb.HsqldbJobStorage.createInternal(HsqldbJobStorage.java:426)
at org.apache.sqoop.metastore.hsqldb.HsqldbJobStorage.update(HsqldbJobStorage.java:445)
at org.apache.sqoop.tool.ImportTool.saveIncrementalState(ImportTool.java:164)
at org.apache.sqoop.tool.ImportTool.importTable(ImportTool.java:518)
at org.apache.sqoop.tool.ImportTool.run(ImportTool.java:605)
at org.apache.sqoop.tool.JobTool.execJob(JobTool.java:228)
at org.apache.sqoop.tool.JobTool.run(JobTool.java:283)
at org.apache.sqoop.Sqoop.run(Sqoop.java:148)
at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:76)
at org.apache.sqoop.Sqoop.runSqoop(Sqoop.java:184)
at org.apache.sqoop.Sqoop.runTool(Sqoop.java:226)
at org.apache.sqoop.Sqoop.runTool(Sqoop.java:235)
at org.apache.sqoop.Sqoop.main(Sqoop.java:244)
Caused by: java.sql.SQLException: Lock wait timeout exceeded; try restarting transaction
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1073)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3597)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3529)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1990)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2151)
at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2625)
at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2119)
at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2415)
at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2333)
at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2318)
at org.apache.sqoop.metastore.hsqldb.HsqldbJobStorage.setV0Property(HsqldbJobStorage.java:707)
at org.apache.sqoop.metastore.hsqldb.HsqldbJobStorage.createInternal(HsqldbJobStorage.java:391)
... 12 more 

Ich habe den Standard-Metastore in MySQL geändert. Alles andere hat gut funktioniert. Ich verstehe, dass einige der Quellen sagen, dass sqoop es nicht unterstützt. In diesem Fall muss ich auch wissen, welche HSQL-DB-Standard-URL ich für das Argument --metaconnect angeben mus

In sqoop site.xml sehe ich, dass es ist:

jdbc:hsqldb:file:/tmp/sqoop-meta/meta.db;shutdown=true

Aber was gebe ich in --meta-connect an? Ich bin sicher, dass dies dort nicht angegeben werden soll.

Ich muss Meta-Connect explizit angeben, da ich Jobs über Oozie ausführe und daher Meta-Connect angeben muss.

Ich habe es überprüft und erneut überprüft, aber auf Port 16000 wird nichts ausgeführt. Der Befehl sqoop-metastore kann es natürlich starten, aber in diesem Fall wird es nicht als Dienst ausgeführt.

so, was ich frage, ist entweder eine Möglichkeit, sqoop metastore als Dienst auszuführen oder zu wissen, warum dieser Status nicht im Metastore gespeichert werden kann, wenn er für mysql konfiguriert ist.