Конференция Arenadata
ArenaTech 2026 – для всех, кому интересны технологии Big Data
Приглашаем вас принять участие в технической онлайн-конференции, посвященной работе с большими данными. Участие бесплатно для всех желающих.

В программе 3 блока докладов:

  • СУБД: архитектура и эксплуатация. Обсудим новые возможности Greengage DB и Arenadata DB на его основе, включая hot standby, обзор утилиты изменения кластерной топологии ggrebalance, вопросы безопасности и устранения CVE.
  • Платформа данных: безопасность и Kubernetes в ADH, аналитика в ADQM. Расскажем об управлении секретами и доступом в Arenadata Hyperwave с использованием OpenBao, особенности переноса сервисов в Kubernetes, а также про аналитические методы в инструментах ADQM.
  • Инструменты: кластерный менеджер, документация, ИИ-поиск. Поделимся опытом разработки технической документации (включая интеллектуальный поиск и ИИ-ассистент) и поговорим про развитие нашего кластерного менеджера ADCM.
Онлайн-конференция состоится 29 октября 2026 года, время трансляции: с 12:00 до 19:00 по московскому времени.
Осталось до события

Конфигурационные параметры ZooKeeper

Для конфигурации сервиса используйте следующие параметры, доступные в ADCM.

ПРИМЕЧАНИЕ
  • Некоторые из перечисленных параметров становятся доступны в UI ADCM после установки флага Advanced.

  • Значения, установленные в Custom-параметрах, перепишут текущие значения параметров, даже если они read-only.

Main
Параметр Описание Значение по умолчанию

connect

Строка подключения ZooKeeper, которая будет использоваться другими службами или кластерами, генерируется автоматически

 — 

dataDir

Место, где ZooKeeper будет хранить моментальные снимки базы данных в памяти и, если не указано иное, журнал транзакций обновлений базы данных

/var/lib/zookeeper

admin.serverPort

Порт, который прослушивает встроенный сервер Jetty. Сервер Jetty предоставляет HTTP-интерфейс для команд из четырехбуквенных слов

58080

zoo.cfg
Параметр Описание Значение по умолчанию

clientPort

Порт для прослушивания клиентских подключений

2181

metricsHttpPort

Порт для сбора метрик

7000

tickTime

Основная единица времени, используемая ZooKeeper (в мс). Минимальный тайм-аут сеанса будет в два раза больше, чем tickTime

2000

initLimit

Тайм-ауты, которые ZooKeeper использует для ограничения времени, в течение которого серверы ZooKeeper в Quorum должны подключаться к лидеру

5

syncLimit

Насколько каждый сервер может отставать от лидера

2

maxClientCnxns

Это свойство ограничивает количество активных подключений с хоста, указанного по IP-адресу, к одному серверу ZooKeeper

0

autopurge.snapRetainCount

Когда функция автоматической очистки ZooKeeper включена, последние снапшоты в количестве autopurge.snapRetainCount и соответствующие им журналы транзакций в dataDir и dataLogDir сохраняются, а остальные удаляются. Минимальное значение 3

3

autopurge.purgeInterval

Интервал времени в часах, для которого должна быть запущена задача очистки. Установите положительное целое число (1 и выше), чтобы включить автоматическую очистку

24

Add key, value

Введенные в этом поле параметры и их значения перезаписывают параметры, указанные в пользовательском интерфейсе ADCM. В этом поле также есть возможность определить значения для всех пользовательских параметров, которые не отображаются в интерфейсе, но разрешены в файле конфигурации zoo.cfg

 — 

4lw.commands.whitelist

Список команд Four Letter Words, разделенных запятыми, используется для обеспечения гибкого управления набором команд, которые ZooKeeper может выполнять. По умолчанию содержит все поддерживаемые команды Four Letter Words, кроме wchp и wchc

 — 

env_vars
Параметр Описание Значение по умолчанию

ZOOCFGDIR

Каталог для хранения конфигурации

/etc/zookeeper

ZOOPIDFILE

Каталог для хранения ID процесса ZooKeeper

/var/run/zookeeper/zookeeper_server.pid

ZOO_LOG_DIR

Каталог для хранения логов

/var/log/zookeeper

SERVER_JVMFLAGS

Используется для установки различных параметров JVM, связанных, например, со сборкой мусора

-Xmx1024m

Add property

Введенные в этом поле параметры и их значения перезаписывают параметры, указанные в пользовательском интерфейсе ADCM. В этом поле также есть возможность определить значения новых переменных окружения, которые будут указаны в файле конфигурации zookeeper-java.yaml

 — 

JAAS template

Шаблон пользовательского файла jaas.conf предназначен для указания пользовательских данных подключения клиентов других сервисов к текущему сервису. Подробнее см. Настройка пользовательского jaas.conf.

Значение по умолчанию:

Server {
    com.sun.security.auth.module.Krb5LoginModule required
    useKeyTab=true
    storeKey=true
    useTicketCache=false
    principal="zookeeper/{{ ansible_fqdn }}@{{ ads_kerberos_realm }}"
    keyTab="{{ ads_kerberos_keytab_dir }}/zookeeper.service.keytab";
};

QuorumServer {
    com.sun.security.auth.module.Krb5LoginModule required
    useKeyTab=true
    storeKey=true
    useTicketCache=false
    debug=false
    principal="zookeeper/{{ ansible_fqdn }}@{{ ads_kerberos_realm }}"
    keyTab="{{ ads_kerberos_keytab_dir }}/zookeeper.service.keytab";
};

QuorumLearner {
    com.sun.security.auth.module.Krb5LoginModule required
    useKeyTab=true
    storeKey=true
    useTicketCache=false
    debug=false
    principal="zookeeper/{{ ansible_fqdn }}@{{ ads_kerberos_realm }}"
    keyTab="{{ ads_kerberos_keytab_dir }}/zookeeper.service.keytab";
};

Client {
    com.sun.security.auth.module.Krb5LoginModule required
    useKeyTab=true
    storeKey=true
    useTicketCache=false
    principal="zookeeper/{{ ansible_fqdn }}@{{ ads_kerberos_realm }}"
    keyTab="{{ ads_kerberos_keytab_dir }}/zookeeper.service.keytab";
};

Параметр

Описание

Значение по умолчанию

JAAS config path

Путь к файлу конфигурации JAAS, который использует сервис. По умолчанию пакет автоматически создает свой собственный файл в стандартном месте. Если вы укажете другой путь, вам нужно будет самостоятельно поместить файл конфигурации в новое место

/etc/zookeeper/zookeeper_jaas.conf

JMX Monitoring
Параметр Описание Значение по умолчанию

jmx_port

Порт, по которому отправляются JMX-метрики

9994

JMX Exporter Port

Порт для подключения к Prometheus JMX Exporter

11208

JMX Authentication

Включает аутентификацию для JMX в сервисе (используется при необходимости защиты доступа к JMX-порту).

Параметр Описание Значение по умолчанию

Username

Имя пользователя для аутентификации в JMX

monitoring

Password

Пароль пользователя для аутентификации в JMX

 — 

Rolling restart/upgrade options
Параметр Описание Значение по умолчанию

Interval_sec

Интервал времени между проверками в секундах

1

Retries

Максимальное количество проверок

30

Safety checks

Включение проверки сервера во время rolling restart

true

 

Конфигурационные параметры компонента Zookeeper Server:

logback.xml template

Шаблон для пользовательской настройки файла logback.xml для ZooKeeper.

Значение по умолчанию:

<!--
 Copyright 2022 The Apache Software Foundation

 Licensed to the Apache Software Foundation (ASF) under one
 or more contributor license agreements.  See the NOTICE file
 distributed with this work for additional information
 regarding copyright ownership.  The ASF licenses this file
 to you under the Apache License, Version 2.0 (the
 "License"); you may not use this file except in compliance
 with the License.  You may obtain a copy of the License at

     http://www.apache.org/licenses/LICENSE-2.0

 Unless required by applicable law or agreed to in writing, software
 distributed under the License is distributed on an "AS IS" BASIS,
 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 See the License for the specific language governing permissions and
 limitations under the License.

 Define some default values that can be overridden by system properties
-->
<configuration>
  <!-- Uncomment this if you would like to expose Logback JMX beans -->
  <!--jmxConfigurator /-->

  <property name="zookeeper.console.threshold" value="INFO" />

  <property name="zookeeper.log.threshold" value="INFO" />
  <property name="zookeeper.log.maxfilesize" value="256MB" />
  <property name="zookeeper.log.maxbackupindex" value="20" />

  <!--
    console
    Add "console" to root logger if you want to use this
  -->
  <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
    <encoder>
      <pattern>%d{ISO8601} [myid:%X{myid}] - %-5p [%t:%C{1}@%L] - %m%n</pattern>
    </encoder>
    <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
      <level>${zookeeper.console.threshold}</level>
    </filter>
  </appender>

  <!--
    Add ROLLINGFILE to root logger to get log file output
  -->
  <appender name="ROLLINGFILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
    <File>${zookeeper.log.dir}/${zookeeper.log.file}</File>
    <encoder>
      <pattern>%d{ISO8601} [myid:%X{myid}] - %-5p [%t:%C{1}@%L] - %m%n</pattern>
    </encoder>
    <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
      <level>${zookeeper.log.threshold}</level>
    </filter>
    <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
      <maxIndex>${zookeeper.log.maxbackupindex}</maxIndex>
      <FileNamePattern>${zookeeper.log.dir}/${zookeeper.log.file}.%i</FileNamePattern>
    </rollingPolicy>
    <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
      <MaxFileSize>${zookeeper.log.maxfilesize}</MaxFileSize>
    </triggeringPolicy>
  </appender>

  <root level="INFO">
    <appender-ref ref="ROLLINGFILE" />
    <appender-ref ref="CONSOLE" />
  </root>
</configuration>
Нашли ошибку? Выделите текст и нажмите Ctrl+Enter чтобы сообщить о ней