O sqoop falha ao armazenar o estado incremental no metastore

Eu entendo isso ao salvar o estado de importação 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 

Mudei o metastore padrão para MySQL. Todo o resto está funcionando bem. Entendo que algumas das fontes dizem que o sqoop não o suporta. Nesse caso, também preciso saber qual é o URL de banco de dados HSQL padrão que preciso especificar no argumento --metaconnect?

No sqoop site.xml, vejo que é:

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

Mas o que eu especifico em --meta-connect? Estou certo de que isso não deve ser especificado lá.

Preciso especificar a meta-conexão explicitamente porque estou executando trabalhos no oozie e, portanto, preciso especificar a meta-conexão.

Eu verifiquei e verifiquei novamente, mas nada está sendo executado na porta 16000. O comando sqoop-metastore pode, é claro, iniciá-lo, mas nesse caso não está sendo executado como um serviço.

Então, o que estou perguntando é uma maneira de executar o sqoop metastore como um serviço ou precisa saber por que isso não está armazenando o estado no metastore quando está configurado para mysql.

questionAnswers(3)

yourAnswerToTheQuestion