如何配置健康检查?
Solr 4中的Healthcheck文件是什么?它是如何使用的?我正在配置Solr Cloud并找到该文件的引用,该文件应该在那里,但没有找到任何示例配置。
非常感谢任何关于如何使用它的链接/文章/示例。
由于
答案 0 :(得分:7)
<强>概述强>
以下是PingRequestHandler Documentation
对PingRequestHandler / HealthCheck的详细解释Ping请求处理程序,用于向负载均衡器报告SolrCore运行状况。
此处理程序旨在用作HTTP负载均衡器的端点,以便在检查Solr服务器的“运行状况”或“运行状态”时使用。
在最简单的形式中,PingRequestHandler应该配置一些默认值,指示应该执行的请求。如果请求成功,则PingRequestHandler将以简单的“OK”状态响应。如果请求失败,则PingRequestHandler将使用相应的HTTP错误代码进行响应。可以将客户端(例如负载平衡器)配置为轮询PingRequestHandler监视这些类型的响应(或简单连接失败),以了解Solr服务器是否存在问题。
可用的更高级选项是使用“healthcheckFile”配置处理程序,该程序可用于启用/禁用PingRequestHandler。 此运行状况检查文件功能可用作向某些负载均衡器指示服务器应“从轮换中移除”以进行维护,升级或任何您希望的原因的方法。
<强>配置强>
来自Solr Reference Guide - Major Changes from Solr 3 to Solr 4
PingRequestHandler不再在solrconfig.xml的(legacy)部分中查找选项。如果要利用此功能,请直接在PingRequestHandler上配置healthcheckFile初始化参数。作为此更改的一部分,已修复相对文件路径以针对数据目录解析。示例solrconfig.xml有一个此配置的示例。
以下是sample solrconfig.xml的相关部分:
<!-- ping/healthcheck -->
<requestHandler name="/admin/ping" class="solr.PingRequestHandler">
<lst name="invariants">
<str name="q">solrpingquery</str>
</lst>
<lst name="defaults">
<str name="echoParams">all</str>
</lst>
<!-- An optional feature of the PingRequestHandler is to configure the
handler with a "healthcheckFile" which can be used to enable/disable
the PingRequestHandler.
relative paths are resolved against the data dir
-->
<!-- <str name="healthcheckFile">server-enabled.txt</str> -->
</requestHandler>
使用示例
示例用法最好描述为上面概述部分中PingRequestHandler文档下的高级选项(最后一段)。我在他们描述的场景中使用了这个设置,我们有两个Solr服务器,我们想要进行负载平衡。通过启用healthcheckFile,我们可以从Solr Admin页面控制Solr服务器是否响应ping请求。当文件存在时,它将响应ping请求,当文件不存在时,它将不响应。健康检查部分下的核心概述页面上将显示启用/禁用Ping按钮。请参见下面的屏幕截图: