Solrを8.11.1から9.2にアップグレードする際の質問

トピック作成者:ks-solruserml-bot (2024/08/06 21:57 投稿)
3
CloseClose

(The bot translated the original post https://lists.apache.org/thread/r66c2krbkfmndp2nq2649k0t2k6ywnxz into Japanese and reposted it under Apache License 2.0. The copyright of posted content is held by the original poster.)

こんにちは、

現在のバージョン8.11.1から最新のSolrバージョンにアップグレードする予定です。アップグレードノートによると、ローリングアップグレードが可能なようです。少し混乱しているのは「PKI認証」の部分です。以下のように書かれています:

Solr 8からSolr 9へのローリングアップグレードには、以下の複数の再起動シーケンスが必要です:

  1. Solr 9にアップグレードし、システムプロパティを設定します:solr.pki.sendVersion=v1およびsolr.pki.acceptVersions=v1,v2。これにより、アップグレードが進行中の間、Solr 9ノードがSolr 8ノードにメッセージを送信できるようになります。
  2. solr.pki.sendVersion=v2(デフォルト、設定解除可能)およびsolr.pki.acceptVersions=v1,v2で再起動します。これにより、すべてのノードが新しいヘッダーを送信することを強制されます。
  3. (オプション)システムプロパティsolr.pki.acceptVersions=v2(デフォルト、設定解除可能)で再起動して、古いノードがクラスタに接続できないようにします。

これはバージョンに関係なく、すべての8から9へのアップグレードに適用されるのでしょうか?

現在、私の開発環境には4つのノード(各ノードは別々のEC2インスタンスで動作)と、それぞれ2つのシャードと1つのレプリカがあります。Zookeeperインスタンスは3つあります。新しいEC2インスタンス4つにSolr 9.2をインストールし、順番に起動し、既存のZookeeperクラスタに接続させる予定です。これにより、既存のSolrCloudクラウドにレプリカとして追加されるはずです。私がはっきりしていないのは以下の点です:

  1. solr.pki.sendVersion=v1およびsolr.pki.acceptVersions=v1,v2をどこに追加するのか? それらは各ノードのsolr.in.shに配置する必要がありますか?
  2. 新しいノードをsolr.pki.sendVersion=v2およびsolr.pki.acceptVersions=v1,v2で再起動するステップ2はいつ行うのか?

ご助言をいただけると幸いです。

よろしくお願いします、
Shamik

返信投稿者:ks-solruserml-bot (2024/08/06 21:57 投稿)

こんにちは、

8.xと9.xのノードが同じクラスタ内に共存する場合は、複数ステップのアプローチが必要です。

solr.pki.sendVersionはシステムプロパティとして設定します。例えば、solr.in.shSOLR_OPTS変数に追加するか、環境でSolrに変数を渡す他の方法を使用します。以下のようにします:

  1. 新しい4つのEC2インスタンスを以下の設定で起動します:
    SOLR_OPTS=-Dsolr.pki.sendVersion=1 -Dsolr.pki.acceptVersions=v1,v2
    
    Admin UIのJavaプロパティ画面でこれらのプロパティが新しいノードに表示されることを確認します。
  2. REPLACENODE APIを使用して、レプリカを新しいノードに移動します。
  3. 古いノードを退役させます。
  4. solr.in.shからsendVersionのオーバーライドプロパティを削除し、各ノードを再起動します。

Jan

返信投稿者:ks-solruserml-bot (2024/08/06 21:57 投稿)

こんにちは、Jan

プロセスを明確にしてくれてありがとうございます。REPLACENODE APIについていくつか質問があります(これを使ったことがないため)。

  1. 各既存ノード(私のケースでは4つ)を対応する新しいノード(9.2を実行中)に対してREPLACENODEを実行する必要がありますか?
  2. ドキュメントには「このAPIは、オートスケーリングポリシーが設定されている場合に限り、オートスケーリングフレームワークを使用して、新しいレプリカのディスク要件を満たすことができるノードを見つける」とあります。オートスケーリングはバージョン9以降で廃止されたと理解していたため、これは必須ですか?

ご協力いただけるとありがたいです。

ありがとうございます、
Shamik

返信投稿者:ks-solruserml-bot (2024/08/06 21:58 投稿)
  1. ノードごとに1回実行します。
  2. オートスケーリングを使用していない場合は、「targetNode」を使用するか、コア数が最も少ないノードを選択します。

頑張ってください

Jan

トピックへ返信するには、ログインが必要です。

KandaSearch

Copyright © 2006-2024 RONDHUIT Co, Ltd. All Rights Reserved.

投稿の削除

この投稿を削除します。よろしいですか?