0

Google Cloudとフロントエンドのロードバランサを使用して、solrインスタンスの自動拡張グループを作成しようとしています。私が経験しているエラーは、私が作成したヘルスチェックが、何を試しても決して通過しないということです。ヘルスチェックはポート80(ポート80を8983に転送するためにnginxを使用するインスタンス)に移動するように設定され、パスは/ solr/<コア名>/admin/pingです。Google CloudでのSolrによるロードバランシング

私は(ローカルホストを使用して)、インスタンス外とインスタンス内部からこのパスをカールすることができますし、私が取得:ヘルスチェックが通らない理由

curl --head localhost/solr/product/admin/ping 
HTTP/1.1 200 OK 
Server: nginx/1.6.2 
Date: Fri, 22 Jul 2016 19:41:26 GMT 
Content-Type: application/xml; charset=UTF-8 
Content-Length: 0 
Connection: keep-alive 

は誰が説明してもらえますか?ヘルスチェックの詳細は以下のとおりです。私は考えることができる

checkIntervalSec: 20 
creationTimestamp: '2016-07-21T11:54:44.196-07:00' 
description: '' 
healthyThreshold: 1 
host: '' 
id: <id> 
kind: compute#httpHealthCheck 
name: <name> 
port: 80 
requestPath: /solr/product/admin/ping 
selfLink: < path to healthcheck > 
timeoutSec: 20 
unhealthyThreshold: 3 

唯一のことは、Health Checkページにある、それは「成功したとみなされるヘルスチェックのために、インスタンスがコードで有効なHTTPレスポンスを返さなければならないと言います200、通常はtimeoutSec期間内に接続を閉じます。私はSolrがコード200を与えていることを知っていますが、curlコマンドから、接続を閉じずに接続を維持しています。それはエラーでしょうか?もしそうなら、どうすればこの問題を回避できますか?

nginx経由でルーティングするのではなく、solrが実行されているポート8983にヘルスチェックを指示した場合、接続ではkeep-aliveが使用されなくなりますが、そのインスタンスも正常でないと報告されます。

すべてのヘルプははるかに高く評価されるだろう、

答えて

0

は、この作品を作るための方法を考え出しました。私はちょうどHTTPロードバランサの代わりにTCPロードバランサを使ってまったく同じことをしたし、それは完全に働いた。

関連する問題