zookeeper コマンドは、zookeeper サービス上で操作を実行するために使用されます。

まずコマンドを実行して、新しいセッションを開き、ターミナルに入ります。

$ sh zkCli.sh

以下では基本的なよく使うコマンドの使い方を説明します。acl 権限の内容については後の章で詳しく説明します。

ls コマンド

ls コマンドは、指定したパス配下のディレクトリリストを表示するために使用されます。

書式:

ls path
  • path:パスを表します。
以下の例では確認します/サンプルノード:
$ ls /サンプル

ls2 コマンド

ls2 コマンドは、指定したパス配下のディレクトリリストを表示するために使用されます。ls コマンドよりも詳細な情報を一覧表示します。

書式:

ls2 path
  • path:パスを表します。
以下の例では確認します/サンプルノード:
$ ls2 /サンプル

get コマンド

get コマンドは、ノードのデータと状態情報を取得するために使用されます。

書式:

get path [watch]
  • path:パスを表します。
  • [watch]:ノードに対してイベント監視を行います。

以下の例では、2つのターミナルを同時に開いて確認します。

ターミナル1:

$ get /サンプル watch

ターミナル2でこのノードを変更します:

$ set /サンプル 1

ターミナル1に NodeDataChanged イベントが自動的に表示されます:

stat コマンド

stat コマンドは、ノードの状態情報を表示するために使用されます。

書式:

stat path [watch]
  • path:パスを表します。
  • [watch]:ノードに対してイベント監視を行います。

以下の例では確認します/サンプルノードの状態:

$ stat /サンプル

create コマンド

create コマンドは、ノードを作成して値を設定するために使用されます。

書式:

create [-s] [-e] path data acl
  • [-s] [-e]:-s と -e はどちらもオプションです。-s は順序ノードを表し、-e は一時ノードを表します。-s と -e は同時に使用できることに注意してください。また、一時ノードは子ノードをさらに作成できません。
  • path:作成するノードのパスを指定します。例:/サンプル。
  • data:このノードに保存するデータ。
  • acl:アクセス権限に関連します。デフォルトは world で、全世界がアクセスできることを意味します。

以下の例では、一時順序ノードを追加します:

$ create -s -e /サンプル 0

作成されたノードは順序付きであり、かつ一時ノードです。

set コマンド

set コマンドは、ノードに保存されたデータを変更するために使用されます。

書式:

set path data [version]
  • path:ノードパス。
  • data:保存するデータ。
  • [version]:オプションです。バージョン番号(楽観的ロックとして使用できます)。

以下の例では2つのターミナルを開きますが、同じターミナルで操作することもできます:

$ get /サンプル

下の図からわかるように、正しいバージョン番号の場合のみ設定に成功します:

$ set /サンプル 0 1
$ set /サンプル 0 2
$ set /サンプル 0 10
$ set /サンプル 0 6

delete コマンド

delete コマンドは、あるノードを削除するために使用されます。

書式:

delete path [version]
  • path:ノードパス。
  • [version]:オプションです。バージョン番号(set コマンドと同じ)。

以下の例では削除します/サンプルノードの子ノード:

$ ls /サンプル
$ delete /サンプル/child
$ get /サンプル/child