SOLR DIH集群环境。

时间:2013-12-11 16:26:05

标签: solr jboss solrj solrcloud dih

我已经配置,启动并运行solr云环境,完全没有问题。但现在我需要在循环中运行delta导入..每次导入过程完成后再启动另一个。

注意事项:

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

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

      <dataConfig>
        <document onImportEnd="com.me.MyNotificationService">
       ....
        </document>
       </dataConfig>
      
    3. com.me.MyNotificationService这可以让我知道该过程何时完成,但我仍然不知道如何将其连接到“运行solr导入应用程序”,因为这将在我的Jboss AS运行的库上容器(再次,如果solr节点发生故障,我也会丢失通知)。

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

      4。能够说到solr集群在这个节点上执行这个导入过程(比如说节点2)然后告诉我它什么时候结束或者给我一个询问状态的方法(在那个特定节点2上甚至是非常有用的)如果我问这个节点1,因为负载均衡器)

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

      感谢。

0 个答案:

没有答案