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

Main
Parameter Description Default value

connect

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

 — 

dataDir

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

/var/lib/zookeeper

zoo.cfg
Parameter Description Default value

clientPort

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

2181

admin.serverPort

Порт, который прослушивает сервер Jetty

5181

admin.enableServer

Активирует Admin server — встроенный Jetty-сервер, предоставляющий HTTP-интерфейс к командам, состоящим из четырех букв

False

tickTime

Базовая единица времени, используемая в ZooKeeper для heartbeats (в миллисекундах). Минимальный тайм-аут сессии равен tickTime * 2

2000

initLimit

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

5

syncLimit

Определяет максимальное допустимое отклонение по дате между сервером и лидером

2

maxClientCnxns

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

0

autopurge.snapRetainCount

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

3

autopurge.purgeInterval

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

24

Add key,value

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

 — 

SSL configuration
Parameter Description Default value

sslQuorum

Активирует зашифрованную кворумную коммуникацию

False

serverCnxnFactory

Имя класса, имплементирующего ServerCnxnFactory. Чтобы использовать серверную коммуникацию на основе TLS, присвойте параметру значение NettyServerCnxnFactory

org.apache.zookeeper.server.NettyServerCnxnFactory

ssl.quorum.keyStore.location

Полный путь к keystore-файлу на сервере

 — 

ssl.quorum.keyStore.password

Пароль от keystore-файла

 — 

ssl.quorum.trustStore.location

Полный путь к truststore-файлу на сервере

 — 

ssl.quorum.trustStore.password

Пароль от truststore-файла

 — 

ssl.protocol

Протокол, используемый при TLS-рукопожатии в клиенте

TLSv1.2

ssl.quorum.protocol

Протокол, используемый при TLS-рукопожатии в кворуме

TLSv1.2

zookeeper-env.sh
Parameter Description Default value

ZOO_LOG_DIR

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

/var/log/zookeeper

ZOOPIDFILE

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

/var/run/zookeeper/zookeeper_server.pid

SERVER_JVMFLAGS

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

-Xmx1024m -Djava.security.auth.login.config=/usr/lib/zookeeper/conf/zookeeper_server_jaas.conf

JAVA

Путь к Java

$JAVA_HOME/bin/java

CLIENT_JVMFLAGS

Клиентские флаги для JVM

-Djava.security.auth.login.config=/usr/lib/zookeeper/conf/zookeeper_client_jaas.conf

 
Настройки логирования ZooKeeper являются частью конфигурации компонента ZooKeeper Server, представленной ниже.

logback.xml template
<!--
 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.dir" value="/var/log/zookeeper" />
  <property name="zookeeper.log.file" value="zookeeper.log" />
  <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>


  <logger name="org.apache.zookeeper.audit.Slf4jAuditLogger" additivity="false" level="${audit.logger}">
    <appender-ref ref="RFAAUDIT" />
  </logger>

  <root level="INFO">
    <appender-ref ref="CONSOLE" />
    <appender-ref ref="ROLLINGFILE" />
  </root>
</configuration>
Enable custom ulimits
[Manager]
DefaultLimitCPU=
DefaultLimitFSIZE=
DefaultLimitDATA=
DefaultLimitSTACK=
DefaultLimitCORE=
DefaultLimitRSS=
DefaultLimitNOFILE=
DefaultLimitAS=
DefaultLimitNPROC=
DefaultLimitMEMLOCK=
DefaultLimitLOCKS=
DefaultLimitSIGPENDING=
DefaultLimitMSGQUEUE=
DefaultLimitNICE=
DefaultLimitRTPRIO=
DefaultLimitRTTIME=
Нашли ошибку? Выделите текст и нажмите Ctrl+Enter чтобы сообщить о ней