sqoop no puede almacenar el estado incremental en el metastore

Me sale esto al guardar el estado de importación incremental

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 

He cambiado metastore predeterminado a MySQL. Todo lo demás ha estado funcionando bien. Entiendo que algunas de las fuentes dicen que sqoop no lo admite. En ese caso, también necesito saber cuál es la URL de db de HSQL predeterminada que debo especificar en el argumento --metaconnect.

En sqoop site.xml, veo que es:

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

Pero, ¿qué especifico en --meta-connect? Estoy seguro de que esto no se especificará allí.

Necesito especificar meta-connect explícitamente porque estoy ejecutando trabajos a través de oozie y, por lo tanto, necesitaré especificar meta-connect.

Lo he comprobado y vuelto a comprobar, pero no se está ejecutando nada en el puerto 16000. El comando sqoop-metastore puede iniciarlo, por supuesto, pero en ese caso no se está ejecutando como un servicio.

así que lo que estoy preguntando es una forma de ejecutar sqoop metastore como un servicio o necesito saber por qué no se puede almacenar el estado en metastore cuando está configurado para mysql.

Respuestas a la pregunta(3)

Su respuesta a la pregunta