La importación de datos falla para datos grandes en SOLR

He configurado SOLR. Solía ​​​​importar datos (1 lakh) en el índice solr que funciona correctamente.

Ahora estoy tratando de importar grandes datos (más de 10 registros lakhs) en el índice solr. configuré data-config.xml y luego comencé la importación completa, pero falla y aparece el error que se menciona a continuación

La indexación falló. Revirtió todos los cambios.

Guardo el inicio de sesión de solr en el archivo solr.err que da error:

Jul 31, 2012 10:19:33 AM org.apache.solr.update.DirectUpdateHandler2 rollback
SEVERE: Ignoring Error when closing connection
    at com.mysql.jdbc.MysqlIO.readPacket(MysqlIO.java:637)
    at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2677)
    at com.mysql.jdbc.ConnectionImpl.rollback(ConnectionImpl.java:4749)
    at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2677)
    at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2627)
    at com.mysql.jdbc.StatementImpl.execute(StatementImpl.java:841)
    at com.mysql.jdbc.StatementImpl.execute(StatementImpl.java:681)
    ... 6 more
Jul 31, 2012 10:19:44 AM org.apache.solr.update.DirectUpdateHandler2 rollback
SEVERE: Ignoring Error when closing connection
    at com.mysql.jdbc.MysqlIO.readPacket(MysqlIO.java:637)
    at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2677)
    at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2709)
    at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2677)
    at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2709)
    at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2677)
    at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2627)
    at com.mysql.jdbc.StatementImpl.execute(StatementImpl.java:841)
    at com.mysql.jdbc.StatementImpl.execute(StatementImpl.java:681)
    ... 6 more
Jul 31, 2012 10:19:44 AM org.apache.solr.update.DirectUpdateHandler2 rollback

SEVERE: Ignoring Error when closing connection at com.mysql.jdbc.MysqlIO.readPacket(MysqlIO.java:637) at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2677)

Jul 31, 2012 10:19:44 AM org.apache.solr.update.DirectUpdateHandler2 rollback
INFO: end_rollback
Jul 31, 2012 10:19:44 AM org.apache.solr.handler.dataimport.JdbcDataSource closeConnection
SEVERE: Ignoring Error when closing connection

com.mysql.jdbc.PacketTooBigException: Packet for query is too large (7959657 > 1048576). You can change this value on the server by setting the max_allowed_packet' variable.
at com.mysql.jdbc.MysqlIO.readPacket(MysqlIO.java:637)
    at com.mysql.jdbc.MysqlIO.getResultSet(MysqlIO.java:420)
    at com.mysql.jdbc.MysqlIO.readResultsForQueryOrUpdate(MysqlIO.java:3118)
    at com.mysql.jdbc.MysqlIO.readAllResults(MysqlIO.java:2288)
    at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2709)
    at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2677)
    at com.mysql.jdbc.ConnectionImpl.rollbackNoChecks(ConnectionImpl.java:4863)
    at com.mysql.jdbc.ConnectionImpl.rollback(ConnectionImpl.java:4749)
    at com.mysql.jdbc.ConnectionImpl.realClose(ConnectionImpl.java:4358)
    at com.mysql.jdbc.ConnectionImpl.close(ConnectionImpl.java:1607)

@ ataConfig.java:342) en org.apache.solr.handler.dataimport.DataImporter.doFullImport(DataImporter.java:383) en org.apache.solr.handler.dataimport.DataImporter.runCmd(DataImporter.java:445) en org.apache.solr.handler.dataimport.DataImporter$1.run(DataImporter.java:426)

Yo uso un procesador de 4 núcleos con 4 GB de RAM.

¿Qué cambios de configuración de mysql/java se requieren para resolver este problema?

preguntado el 31 de julio de 12 a las 11:07

¿No vio que MySQL informó "Puede cambiar este valor en el servidor configurando la variable max_allowed_packet'"? Eso es todo lo que necesitas hacer. -

1 Respuestas

Supongo que esto tiene más que ver con Mysql que con Solr, ya que el controlador mysql jdbc tiene el problema. Probar esta solución aquí, que simplemente supera el límite de datos que mysql puede manejar.

Respondido 31 Jul 12, 12:07

Incluso después de configurar max_allowed_packet, estaba dando un problema de espacio de almacenamiento dinámico de Java que se resolvió aumentando el tamaño del almacenamiento dinámico al iniciar solr con java -Xmx1582m -jar start.jar - John Smith

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.