Конфигурирование узла (брокера) Corax#
Конфигурирование брокера Corax осуществляется в файле
config/server.properties.
Допускается создание файлов конфигурации с различными именами, например:
config/server-1-node-cluster.properties
config/server-3-node-cluster.properties
config/server-3-node-cluster-on-1-machine.properties
config/server-5-node-cluster.properties
При запуске Corax достаточно указать нужный конфигурационный файл.
Минимальная конфигурация#
Пример конфигурационного файла server.properties для одного брокера:
broker.id=1
listeners=PLAINTEXT://localhost:9092
zookeeper.connect=localhost:2181
log.dirs=/var/log/kafka_2.11-0.9.0.0/kafka-logs
Шаги создания конфигурационного файла:
Присвойте ключу
broker.idнеобходимый числовой идентификатор. Необходимо соблюдать уникальность данного идентификатора на всех серверах кластера.Пример
broker.id=1Для ключа
zookeeper.connectукажитеIP:PORTсервиса ZooKeeper.Пример
Запущен один экземпляр ZooKeeper и его порт
clientPort=2181:zookeeper.connect=localhost:2181Пример
Запущен кластер из нескольких экземпляров ZooKeeper (адреса всех служб ZooKeeper указаны через запятую):
zookeeper.connect=10.XX.XX.XX:YYYY,10.XX.XX.XX:YYYYДля ключа
log.dirsзадайте одну или несколько директорий, в которых планируется хранение сообщений, передаваемых в Corax.Пример
log.dirs=/var/log/kafka_2.11-0.9.0.0/kafka-logsПримечание
Если планируется использовать Corax под большой нагрузкой, то должно быть выделено достаточно места, т. к. все сообщения будут сохраняться на диск именно в указанной директории.
Если на физическом сервере возможно использование нескольких физических жестких дисков для хранения сообщений Corax, то для увеличения производительности перечислите пути к директориям на этих дисках через запятую:
log.dirs=/var/log/kafka_2.11-0.9.0.0/kafka-logs,/another_disk/kafka_2.11-0.9.0.0/kafka-logsДля ключа
listenersприсвойте строку формата<ПРОТОКОЛ>://<хост>:<порт>:Пример
listeners=PLAINTEXT://localhost:9092 listeners=SSL://<host2-ip-address>:9092 listeners=SASL_PLAINTEXT://:9092
Расширенная конфигурация#
Существует ряд опциональных параметров, которые могут быть включены в файл конфигурации. Наиболее важные из них приведены далее.
Если на одном физическом сервере планируется запускать несколько брокеров Corax, то для каждого брокера укажите уникальный порт в параметре
listeners. По умолчанию сервер Corax слушает порт9092.Можно изменить значение количества партиций для вновь создаваемых топиков по умолчанию в ключе
num.partitions. Если для сервера Corax доступны несколько жестких дисков, увеличение числа партиций увеличит производительность Corax. Количество партиций по умолчанию можно указать равным числу дисков.Пример:
num.partitions=4Для повышения надежности необходимо раскомментировать записи, содержащие ключи
log.flush.interval.messagesиlog.flush.interval.ms. В этом случае указывается, как часто должна происходить реальная запись сообщений на диск: либо по истечении заданного времени, либо после достижения заданного количества незаписанных сообщений. Данную настройку можно изменить для конкретного топика при его создании.Пример:
log.flush.interval.messages=10000 log.flush.interval.ms=1000Для ключа
log.retention.hoursзадается время хранения партиций в часах, по истечении которого партиция будет доступна для удаления. В данном случае отсчет будет вестись по самому новому сообщению в партиции.Пример
log.retention.hours=168Для ключа
log.cleaner.enableзадается значениеtrueдля активации механизма удаления старых партиций.Пример
log.cleaner.enable=true