Logstash-JDBC 插件:将数百万条记录从 Oracle 导入到 ElasticSearch

sha*_*han 5 performance elasticsearch logstash logstash-jdbc

场景: - 我正在尝试将大型数据集从 Oracle DB(几百万条记录)导入 ElasticSearch。- 我可以使用logstash jdbc 输入插件导入数据。

问题: - 需要很长时间(5 小时)才能完成。

  • 有没有更好的解决方案来减少这个时间?在这种情况下的良好做法

xey*_*eye 4

您可以先尝试一下jdbc_fetch_size,下一步将在多个节点上运行 import,对于每个节点,将 sql 查询拆分为不重叠的集合,例如select * from XX where id between 0 and 1000000.

您还可以在索引大容量之前将 ES 索引副本数设置为 0,然后再将其更改回来。当然,使用具有良好批量大小和并行性的批量索引 API。