Команды Zookeeper используются для выполнения операций в службе Zookeeper.

Сначала выполните команду, чтобы открыть новый сеанс и войти в терминал.

$ sh zkCli.sh

Ниже объясняется использование основных распространённых команд. Содержание разрешений ACL будет подробно рассмотрено в последующих главах.

команда ls

Команда ls используется для просмотра списка каталогов по определённому пути.

Формат:

ls path
  • path: обозначает путь.
В следующем примере просматривается/exampleузел:
$ ls /example

команда ls2

Команда ls2 используется для просмотра списка каталогов по определённому пути. Она выводит более подробную информацию, чем команда ls.

Формат:

ls2 path
  • path: обозначает путь.
В следующем примере просматривается/exampleузел:
$ ls2 /example

команда get

Команда get используется для получения данных узла и информации о состоянии.

Формат:

get path [watch]
  • path: обозначает путь.
  • [watch]: выполняет прослушивание событий на узле.

В следующем примере одновременно открываются два терминала.

Терминал 1:

$ get /example watch

Измените этот узел в терминале 2:

$ set /example 1

Терминал 1 автоматически отображает событие NodeDataChanged:

команда stat

Команда stat используется для просмотра информации о состоянии узла.

Формат:

stat path [watch]
  • path: обозначает путь.
  • [watch]: выполняет прослушивание событий на узле.

В следующем примере просматривается состояние узла/example:

$ stat /example

команда create

Команда create используется для создания узла и присваивания ему значения.

Формат:

create [-s] [-e] path data acl
  • [-s] [-e]: -s и -e оба необязательны. -s обозначает последовательный узел, -e обозначает эфемерный узел. Обратите внимание, что -s и -e можно использовать одновременно, и у эфемерных узлов нельзя создавать дочерние узлы.
  • path: указывает путь создаваемого узла, например/example。
  • data: данные, которые нужно сохранить в этом узле.
  • acl: связано с правами доступа. По умолчанию — world, что означает, что любой в мире может получить к нему доступ.

В следующем примере добавляется эфемерный последовательный узел:

$ create -s -e /example 0

Созданный узел является одновременно последовательным и эфемерным.

команда set

Команда set используется для изменения данных, хранящихся в узле.

Формат:

set path data [version]
  • path: путь к узлу.
  • data: данные для сохранения.
  • [version]: необязательно, номер версии (может использоваться как оптимистическая блокировка).

В следующем примере открываются два терминала, или вы также можете работать в одном терминале:

$ get /example

Как видно на рисунке ниже, успешно установить можно только с правильным номером версии:

$ set /example 0 1
$ set /example 0 2
$ set /example 0 10
$ set /example 0 6

команда delete

Команда delete используется для удаления узла.

Формат:

delete path [version]
  • path: путь к узлу.
  • [version]: необязательно, номер версии (как в команде set).

В следующем примере удаляются дочерние узлы узла/example:

$ ls /example
$ delete /example/child
$ get /example/child