ZooKeeperファイル管理
SolrCloudでは、設定ファイルはZooKeeperに保存されます。
これらのファイルは、次のいずれかの場合にアップロードされます。
-
bin/solr
スクリプトを使用してSolrCloudの例を開始する場合。 -
bin/solr
スクリプトを使用してコレクションを作成する場合。 -
設定セットをZooKeeperに明示的にアップロードする場合。
起動時のブートストラップ
bin/solr -e cloud
を使用して初めてSolrCloudを試行すると、関連するconfigsetが自動的にZooKeeperにアップロードされ、新しく作成されたコレクションにリンクされます。
以下のコマンドは、デフォルトのコレクション名(gettingstarted
)とデフォルトのconfigset(_default
)をアップロードしてリンクした状態でSolrCloudを開始します。
bin/solr -e cloud -noprompt
-d
オプションを使用してbin/solr
スクリプトでコレクションを作成する場合、設定ディレクトリを明示的にアップロードすることもできます。例:
bin/solr create -c mycollection -d _default
この作成コマンドは、_default
設定ディレクトリの複製を/configs/mycollection
の下のZooKeeperにアップロードします。コレクションを作成するための作成コマンドの詳細については、Solrコントロールスクリプトリファレンスを参照してください。
設定ディレクトリがZooKeeperにアップロードされた後、Solrコントロールスクリプトを使用して更新できます。
これらのファイルをバージョン管理下に置くことをお勧めします。 |
bin/solrまたはSolrJを使用した設定ファイルのアップロード
本番環境では、Configsetsは、SolrのSolrコントロールスクリプトまたはSolrJを使用して、コレクションの作成とは独立してZooKeeperにアップロードすることもできます。
以下のコマンドを使用して、bin/solrスクリプトで新しいconfigsetをアップロードできます。
bin/solr zk upconfig -n <name for configset> -d <path to directory with configset>
次のコードは、SolrJを使用してこれを実現する方法を示しています。
getConfigSetService().uploadConfig("nameForConfigset", Paths.get(localConfigSetDirectory));
設定をGit、SVNなどのバージョン管理システムに保存することを強くお勧めします。
SolrCloud設定ファイルの管理
SolrCloud設定ファイルを更新または変更するには、
-
ソースコントロールチェックアウトプロセスを使用して、ZooKeeperから最新の構成ファイルをダウンロードします。
-
変更を加えます。
-
変更されたファイルをソースコントロールにコミットします。
-
変更をZooKeeperにプッシュします。
-
変更を有効にするためにコレクションをリロードします。
最初のクラスタ起動前にZooKeeperを準備する
同じZooKeeperインスタンスを他のアプリケーションと共有する場合は、ZooKeeperでchrootを使用する必要があります。手順については、ZooKeeper chrootを参照してください。
クラスタ全体の設定を含む特定の設定ファイルがあります。これらのいくつかはクラスタが正しく機能するために不可欠であるため、初めてSolrクラスタを開始する前に、このようなファイルをZooKeeperにアップロードする必要がある場合があります。このような設定ファイルの例(網羅的ではありません)は、security.json
とclusterprops.json
です。
たとえば、認証を有効にする場合は、bin/solrユーティリティ(Unixの例)を使用してsecurity.json
ファイルをZooKeeperにプッシュできます。
bin/solr zk cp file:local/file/path/to/security.json zk:/security.json -z localhost:2181
solr.in.sh /solr.in.cmd でZK_HOST を事前に定義済であれば(Solrインクルードファイルの更新を参照:xref:zookeeper-ensemble.adoc#updating-solr-include-files)、上記コマンドの`-z |