1

我配置了 solr 云环境,启动并运行,完全没有问题。但是现在我需要在循环中运行增量导入.. 每次这个导入过程完成时都会启动另一个。

注意事项:

  1. 所有节点中的相同 DIH 配置。
  2. 3 个 solr 节点在负载均衡器后面运行(该命令可以在任何节点上执行)
  3. 如果导入器已经在一个节点中运行,我不想在第二个节点中执行它。
  4. 我想在最后一次执行完成后立即运行 DIH。
  5. 如果一个节点在导入过程中出现故障,我想说..这花费了太长时间..让我们开始另一个导入过程。(如果有一种方法可以识别该过程在其运行时运行的节点掉线了,所以我可以检查它并保存该信息以找出原因..这会很棒)
  6. 我每分钟都有很多事件发生在数据库上,我真的需要 Solr 上的所有这些事件(数据库记录)(文档是最新的)

选项和想法

  1. 我正在考虑使用 JBoss EAP 5.1 来运行带有 TimerService 的外部应用程序,我有一个集群,我可以确保它将永远运行,询问状态并在循环中重新启动 DIH 进程。
  2. 我正在查看并测试 DHI 事件列表器

    <dataConfig>
      <document onImportEnd="com.me.MyNotificationService">
     ....
      </document>
     </dataConfig>
    

com.me.MyNotificationService 这可以让我知道该过程何时完成,但我仍然不知道如何将它连接到“运行 solr 导入应用程序”,因为这将在一个库上运行我的 JBoss AS 容器(再次如果 Solr 节点出现故障,我也会丢失通知)。

  1. 如果有办法确保这个循环不会被打破。如果所有这一切都由 Solr 集群管理(并处理诸如节点在导入过程中出现故障的情况),我会忘记那个外部“运行 solr 导入应用程序”,但我真的不认为这是可能的.

  2. 对 Solr 集群说在这个节点(比如说节点 2)上执行这个导入过程,然后让我知道它什么时候完成或者给我一种询问状态的方法(甚至在那个特定的节点 2 上),这真的很有用如果我问节点 1,因为负载均衡器)

任何建议和想法都将受到欢迎。

谢谢。

4

0 回答 0