Класс Zookeeper
(PECL zookeeper >= 0.1.0)
Введение
Представляет сессию ZooKeeper.
Обзор классов
Предопределенные константы
Разрешения ZooKeeper
Zookeeper::PERM_READ-
Можно читать значение узла и список дочерних узлов
Zookeeper::PERM_WRITE-
Можно устанавливать значение узла
Zookeeper::PERM_CREATE-
Можно создавать дочерние элементы
Zookeeper::PERM_DELETE-
Можно удалять дочерние элементы
Zookeeper::PERM_ADMIN-
Можно запускать set_acl()
Zookeeper::PERM_ALL-
Можно использовать все вышеуказанные флаги вместе
Флаги создания ZooKeeper
Zookeeper::EPHEMERAL-
Если установлен флаг Zookeeper::EPHEMERAL, узел будет автоматически удален по завершению клиентской сессии.
Zookeeper::SEQUENCE-
Если установлен флаг Zookeeper::SEQUENCE, к имени пути будет добавляться уникальный номер из монотонно возрастающей последовательности. Номер из последовательности всегда имеет фиксированную длину в 10 цифр, дополненную лидирующими нулями по необходимости.
Уровень логирования ZooKeeper
Zookeeper::LOG_LEVEL_ERROR-
Выводить только сообщения об ошибках
Zookeeper::LOG_LEVEL_WARN-
Выводить ошибки и предупреждения
Zookeeper::LOG_LEVEL_INFO-
Выводить большие сообщения о действиях помимо ошибок и предупреждений
Zookeeper::LOG_LEVEL_DEBUG-
Выводить все
Состояния ZooKeeper
Zookeeper::EXPIRED_SESSION_STATE-
Соединение установлено, но сессия истекла
Zookeeper::AUTH_FAILED_STATE-
Соединение установлено, но аутентификация неудачная
Zookeeper::CONNECTING_STATE-
Устанавливается соединение
Zookeeper::ASSOCIATING_STATE-
Ассоциирование
Zookeeper::CONNECTED_STATE-
Соединение установлено
Zookeeper::READONLY_STATE-
TODO: помогите нам улучшить это расширение
Zookeeper::NOTCONNECTED_STATE-
Соединение не установлено
Типы событий ZooKeeper
Zookeeper::CREATED_EVENT-
Узел был создан
Генерируется только путем наблюдения за несуществующими узлами. Эти наблюдатели задаются с помощью Zookeeper::exists.
Zookeeper::DELETED_EVENT-
Узел был удален
Генерируется только путем наблюдения за узлами. Эти наблюдатели задаются с помощью Zookeeper::exists и Zookeeper::get.
Zookeeper::CHANGED_EVENT-
Узел был изменен
Генерируется только путем наблюдения за узлами. Эти наблюдатели задаются с помощью Zookeeper::exists и Zookeeper::get.
Zookeeper::CHILD_EVENT-
Произошло изменение в списке дочерних узлов
Генерируется только путем наблюдения за списком дочерних узлов. Эти наблюдатели задаются с помощью Zookeeper::getChildren.
Zookeeper::SESSION_EVENT-
Сессия была потеряна
Генерируется когда коиент потерял соединение с сервером, либо инициировал пересоединение.
Zookeeper::NOTWATCHING_EVENT-
Наблюдатель был удален
Генерируется сервером по разным причинам, например связанным с ограничением ресурса, и говорит о том, что дальнейшее наблюдение за узлом невозможно.
Системные ошибки и ошибки на стороне сервера ZooKeeper
Zookeeper::SYSTEMERROR-
Никогда не выбрасывается сервером и может использоваться только для ограничения диапазона кодов ошибок. Все ошибки большие этой, но меньшие Zookeeper::APIERROR, являются системными ошибками.
Zookeeper::RUNTIMEINCONSISTENCY-
Обнаружена несогласованность во время выполнения.
Zookeeper::DATAINCONSISTENCY-
Обнаружена несогласованность данных.
Zookeeper::CONNECTIONLOSS-
Потеряно соединение с сервером.
Zookeeper::MARSHALLINGERROR-
Ошибка при маршалинге и демаршалинге данных.
Zookeeper::UNIMPLEMENTED-
Операция не реализована.
Zookeeper::OPERATIONTIMEOUT-
Превышение времени ожидания операции.
Zookeeper::BADARGUMENTS-
Некорректный аргумент.
Zookeeper::INVALIDSTATE-
Некорректный статус zhandle.
Zookeeper::NEWCONFIGNOQUORUM-
Кворум новой конфигурации не подключен и не синхронизирован с лидером последней подтвержденной конфигурации. Попробуйте запустить переконфигурацию после подключения и синхронизации новых серверов.
Доступно с версии ZooKeeper 3.5.0
Zookeeper::RECONFIGINPROGRESS-
Запрос переконфигурации во время работы другого процесса переконфигурации. В данный момент не поддерживается. Попробуйте повторить позже.
Доступно с версии ZooKeeper 3.5.0
ZooKeeper API Errors
Zookeeper::OK-
Все хорошо.
Zookeeper::APIERROR-
Никогда не выбрасывается сервером и может использоваться только для ограничения диапазона кодов ошибок. Все ошибки большие этой, являются ошибками API (значения меньшие данного означают системные ошибки).
Zookeeper::NONODE-
Узел отсутствует.
Zookeeper::NOAUTH-
Отсутствует аутентификация.
Zookeeper::BADVERSION-
Конфликт версий.
Zookeeper::NOCHILDRENFOREPHEMERALS-
Эфемерные узлы не должны иметь потомков.
Zookeeper::NODEEXISTS-
Узел уже существует.
Zookeeper::NOTEMPTY-
Узел имеет потомков.
Zookeeper::SESSIONEXPIRED-
Срок действия сессии истек.
Zookeeper::INVALIDCALLBACK-
Задана некорректная функция обратного вызова.
Zookeeper::INVALIDACL-
Задан некорректный ACL.
Zookeeper::AUTHFAILED-
Неудачная аутентификация клиента.
Zookeeper::CLOSING-
ZooKeeper закрывается.
Zookeeper::NOTHING-
(не ошибка) Никакакого ответа от сервера для обработки.
Zookeeper::SESSIONMOVED-
Сессия перемещена на другой сервер, таким образом операция проигнорирована.
Zookeeper::NOTREADONLY-
Запрос изменения статуса отправлен на сервер с режимом "только чтение".
Zookeeper::EPHEMERALONLOCALSESSION-
Попытка создать эфемерный узел в локальной сессии.
Zookeeper::NOWATCHER-
Невозможно найти наблюдателя.
Zookeeper::RECONFIGDISABLED-
Попытка произвести операцию переконфигурации в случае если она запрещена.
Содержание
- Zookeeper::addAuth — Указывает учетные данные приложения
- Zookeeper::close — Закрывает обработчик zookeeper и освобождает любые ресурсы
- Zookeeper::connect — Создает дескриптор для общения с zookeeper
- Zookeeper::__construct — Создает дескриптор для общения с zookeeper
- Zookeeper::create — Создает синхронно узел
- Zookeeper::delete — Удаляет синхронно узел в zookeeper
- Zookeeper::exists — Синхронно проверяет наличие узла в zookeeper
- Zookeeper::get — Синхронно получает данные, связанные с узлом
- Zookeeper::getAcl — Синхронно получает ACL, связанный с узлом
- Zookeeper::getChildren — Выводит список потомков узла синхронно
- Zookeeper::getClientId — Возвращает идентификатор сессии клиента, действителен только в том случае, если соединения в настоящее время подключены (т.е. последнее состояние наблюдателя - ZOO_CONNECTED_STATE)
- Zookeeper::getConfig — Получает экземпляр ZookeeperConfig
- Zookeeper::getRecvTimeout — Возвращает время ожидания для сессии, действительный, только если соединения в настоящее время подключены (т.е. последнее состояние наблюдателя - ZOO_CONNECTED_STATE). Это значение может измениться после повторного подключения к серверу
- Zookeeper::getState — Получает состояние соединения zookeeper
- Zookeeper::isRecoverable — Проверяет, можно ли восстановить текущее состояние подключения ZooKeeper
- Zookeeper::set — Устанавливает данные, связанные с узлом
- Zookeeper::setAcl — Устанавливает ACL, связанный с узлом синхронно
- Zookeeper::setDebugLevel — Устанавливает уровень логирования для библиотеки
- Zookeeper::setDeterministicConnOrder — Включение/отключение рандомизации порядка конечных точек кворума
- Zookeeper::setLogStream — Устанавливает поток, который будет использоваться библиотекой для логирования
- Zookeeper::setWatcher — Устанавливает функцию наблюдателя