ZooKeeper ユーティリティ

ZooKeeper に保存されている Solr 設定ファイルと直接やり取りするための ZooKeeper コマンドラインインターフェース (CLI) スクリプトが用意されています。

Solr の管理 UI には SolrCloud クラスタの状態に特化したページが含まれていますが、関連する設定ファイルをダウンロードまたは変更することはできません。

管理 UI 画面の使用の詳細については、クラウド画面 セクションを参照してください。

server/scripts/cloud-scripts にある ZooKeeper CLI スクリプトを使用すると、設定情報を ZooKeeper にアップロードできます。また、コレクションセットをコレクションにリンクしたり、ZooKeeper パスを作成またはクリアしたり、ZooKeeper からローカルファイルシステムに設定をダウンロードしたりできるいくつかのコマンドも提供します。

zkCli.sh スクリプトによって提供される多くの機能は、Solr コントロールスクリプト によっても提供されます。これは、ZooKeeper メンテナンスコマンドが Unix コマンドと非常によく似ているため、開始スクリプトとしてよりなじみがある可能性があります。

Solr の zkcli.sh と ZooKeeper の zkCli.sh

Solr によって提供される zkcli.sh は、ZooKeeper ディストリビューションに含まれる zkCli.sh とは異なります。

ZooKeeper の zkCli.sh は、ZooKeeper のデータ操作のための完全に一般的なアプリケーション非依存のシェルを提供します。このセクションで説明する Solr の zkcli.sh は Solr に固有のものであり、ZooKeeper の Solr データを処理するためのコマンドライン引数があります。

Solr の ZooKeeper CLI の使用

./server/scripts/cloud-scripts/zkcli.sh help のように、スクリプト自体から使用可能なコマンドのリストを取得するには、help オプションを使用します。

(Unix 環境用) zkcli.sh と (Windows 環境用) zkcli.bat の両方で、次のコマンドラインオプションがサポートされています。

-cmd <arg>

実行する CLI コマンド。このパラメータは**必須**です。次のコマンドがサポートされています。

  • bootstrap

  • upconfig

  • downconfig

  • linkconfig

  • makepath

  • getgetfile

  • putputfile

  • clear

  • list

  • ls

  • clusterprop

-z または -zkhost <locations>

ZooKeeper ホストアドレス。このパラメータはすべての CLI コマンドで**必須**です。

-c または -collection <name>

linkconfig の場合:コレクションの名前。

-d または -confdir <path>

upconfig の場合:設定ファイルのディレクトリ。downconfig の場合:ZooKeeper から取得したファイルの保存先。

-h または -help

ヘルプテキストを表示します。

-n または -confname <arg>

upconfiglinkconfigdownconfig の場合:設定セットの名前。

-r または -runzk <port>

Solr 実行ポートを渡して ZooKeeper を内部的に実行します。1 台のマシンのクラスタの場合のみ。

-s または -solrhome <path>

bootstrap の場合、または -runzk を使用する場合:**必須** の solrhome の場所。

-name <name>

clusterprop の場合:**必須** のクラスタプロパティ名。

-val <value>

clusterprop の場合:クラスタプロパティの値。指定しない場合、値として**null** が使用されます。

短い形式のパラメータオプションは、単一のダッシュで指定できます (例:-c mycollection)。

長形式のパラメータオプションは、単一のダッシュ(例:-collection mycollection)または二重ダッシュ(例:--collection mycollection)のいずれかを使用して指定できます。

ZooKeeper CLIの例

以下は、zkcli.sh CLIを使用する例です。SolrCloudの例(bin/solr -e cloud -noprompt)を既に開始していることを前提としています。

Windowsマシンを使用している場合は、これらの例でzkcli.shzkcli.batに置き換えてください。

設定ディレクトリのアップロード

./server/scripts/cloud-scripts/zkcli.sh -zkhost 127.0.0.1:9983 -cmd upconfig -confname my_new_config -confdir server/solr/configsets/_default/conf

既存のsolr.homeからのZooKeeperのブートストラップ

./server/scripts/cloud-scripts/zkcli.sh -zkhost 127.0.0.1:2181 -cmd bootstrap -solrhome /var/solr/data
chrootを使用したブートストラップ

-zkhostパラメータでZooKeeper chrootを使用するブートストラップコマンド(例:-zkhost 127.0.0.1:2181/solr)を使用すると、設定をアップロードする前にchrootパスが自動的に作成されます。

新しいZooKeeperファイルへの任意データの追加

./server/scripts/cloud-scripts/zkcli.sh -zkhost 127.0.0.1:9983 -cmd put /my_zk_file.txt 'some data'

ローカルファイルの新しいZooKeeperファイルへの追加

./server/scripts/cloud-scripts/zkcli.sh -zkhost 127.0.0.1:9983 -cmd putfile /my_zk_file.txt /tmp/my_local_file.txt
./server/scripts/cloud-scripts/zkcli.sh -zkhost 127.0.0.1:9983 -cmd linkconfig -collection gettingstarted -confname my_new_config

新しいZooKeeperパスの作成

これは、最初のクラスタ起動前にZooKeeperにchrootパスを作成する場合に役立ちます。

./server/scripts/cloud-scripts/zkcli.sh -zkhost 127.0.0.1:2181 -cmd makepath /solr

クラスタプロパティの設定

このコマンドは、clusterprops.json内の単一のクラスタプロパティを追加または変更します。通常のgetfile → edit → putfileサイクルの代わりにこのコマンドを使用してください。

Collections APIのCLUSTERPROPコマンドとは異なり、このコマンドは動作中のSolrクラスタを必要としません。

./server/scripts/cloud-scripts/zkcli.sh -zkhost 127.0.0.1:2181 -cmd clusterprop -name urlScheme -val https