SOLRをセットアップしました。以前は、正常に機能する solr インデックスにデータ (1 ラーク) をインポートしていました。
今、私は大規模なデータ (10 + lakhs レコード) を solr インデックスにインポートしようとしています。data-config.xml をセットアップしてからフルインポートを開始しましたが、失敗して以下のエラーが発生します
インデックス作成に失敗しました。すべての変更をロールバックしました。
solr 開始ログを solr.err ファイルに保存すると、エラーが発生します。
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) で org.apache.solr.handler.dataimport.DataImporter.doFullImport(DataImporter.java:383) で org.apache.solr.handler.dataimport.DataImporter.runCmd(DataImporter.java:445) でorg.apache.solr.handler.dataimport.DataImporter$1.run(DataImporter.java:426)
4GB RAMの4コアプロセッサを使用しています。
この問題を解決するには、どのような mysql/java 構成の変更が必要ですか?