Руководство по установке#
Термины и определения#
Термин/аббревиатура |
Определение |
|---|---|
PID |
Process Identifier, идентификатор процесса |
SSL |
Secure Sockets Layer, криптографический протокол, предназначенный для защиты обмена данными в сети |
СПО |
Системное программное обеспечение |
Системные требования#
Описание комплекса технических средств и системного программного обеспечения (СПО), необходимых для работы Platform V Corax#
В таблице ниже содержится перечень СПО, требуемого для функционирования Platform V Corax.
Наименование |
Версия |
Разрядность |
Тип |
Назначение |
|---|---|---|---|---|
Альт СП |
8 |
64 |
Операционная система |
Операционная система |
Open JDK |
8 |
64 |
Программная платформа |
Среда выполнения Java-приложений |
В данном документе описывается развертывание на Linux.
Установка#
Установка показана на примере версии Apache Platform V Corax 2.11-0.9.0.0.
Распакуйте архив дистрибутива kafka_2.11-0.9.0.0.tgz и зайдите в папку с помощью команд:
tar --xzf kafka_2.11-0.9.0.0.tgz
cd kafka_2.11-0.9.0.0
Запуск сервера Platform V Corax#
Выполните запуск сервера Platform V Corax в следующем порядке:
Запуск узла Platform V Corax:
Запуск Zookeeper:
> bin/zookeeper-server-start.sh config/zookeeper.properties [2015-03-09 15:01:37,495] INFO Reading configuration from config/zookeeper.properties (org.apache.zookeeper.server.quorum.QuorumPeerConfig) ...Где
config/zookeeper.properties— файл конфигурации Zookeeper.Запуск узла Platform V Corax:
> bin/kafka-server-start.sh config/server.properties [2015-03-09 15:02:37,495] INFO Verifying properties (kafka.utils.VerifiableProperties) [2015-03-09 15:02:37,495] INFO Property socket.send.buffer.bytes is overridden to 1048576 (kafka.utils.VerifiableProperties) ...Где
config/server.properties— файл конфигураций узла (брокера) Platform V Corax.Запуск узлов Zookeeper и Platform V Corax в режиме демона:
> bin/zookeeper-start.sh -daemon config/zookeeper.properties > bin/kafka-server-start.sh -daemon config/server.propertiesГде
-daemon— опция для запуска в режиме демона.Запуск в режиме демона является рекомендуемым способом для эксплуатации.
Чтение журналов Zookeeper и Platform V Corax при запуске в режиме демона:
журнал приложения Zookeeper выводится в файл
logs/zookeeper.out;журнал приложения Platform V Corax выводится в файл
logs/server.log.
Запуск узлов Zookeeper и Platform V Corax в режиме демона с выводом журнала из файла в консоль:
> bin/zookeeper-start.sh -daemon \ config/zookeeper.properties && tail -f logs/zookeeper.out > bin/kafka-server-start.sh -daemon \ config/server.properties && tail -f logs/server.log
Для остановки узлов Platform V Corax и Zookeeper выполните скрипты в следующем порядке:
> bin/kafka-server-stop.sh > bin/zookeeper-server-stop.shДля проверки состояния процессов узлов Zookeeper и Platform V Corax воспользуйтесь поиском PID этих процессов в оперативной памяти:
Проверка состояния узла Platform V Corax с помощью поиска PID его процесса:
> ps ax | grep -i 'kafka \. Kafka' | grep java | grep -v grep | awk '{print $1}' 1234В результате выведется PID найденного процесса или пустая строка в случае его отсутствия.
Проверка состояния узла Platform V Corax командой, запрашивающей список топиков:
> bin/kafka-topics.sh --list --zookeeper localhost:2181 ... __ consumer _ offsets ...Где:
--list— опция, обозначающая режим вывода списка топиков;--zookeeper— хост Zookeeper в форматеIP:Port;localhost— имя IP-адреса сервера, на котором запущен Zookeeper;2181— портclientPort, задаваемый в файле конфигурацийconfig/zookeeper.propertiesдля Zookeeper, через который осуществляется подключение клиентов.
В результате будет выведен список топиков, в котором, например, может содержаться топик
__ consumer _ offsets(если к этому топику подключался Потребитель).Примечания
В текущей версии указанная команда будет работать только при отключенном SSL.
Использование параметра
--zookeeperдля текущей версии считается устаревшим.
Проверка состояния узла Zookeeper с помощью поиска PID его процесса:
> ps ax | grep -i 'zookeeper' | grep -v grep | awk '{print $1}' 1234В результате выведется PID найденного процесса или пустая строка в случае его отсутствия.
Обновление#
Platform V Corax поддерживает обновление без прерывания сервиса в случае корректной конфигурации.
Системные требования, используемые для обновления:
Фактор репликации каждого топика не ниже
min_insync_replicas+1.Фактор репликации смещений не ниже 2.
Фактор репликации сведений о транзакциях не ниже 2.
Обновление без прерывания сервиса происходит путем последовательного перезапуска брокеров с обновлением исполняемых файлов и/или конфигурации. При смене версии протокола требуется задать дополнительные параметры конфигурации вида inter.broker.protocol.version=X и log.message.format.version=Х в файле свойств брокера.
Общий принцип обновления с версии X на версию X+1:
В конфигурационном файле
server.propertiesзадайте параметрыinter.broker.protocol.version=Xиlog.message.format.version=Х.Остановите работу одного из брокеров и замените исполняемые файлы.
Запустите обновленный брокер и дождитесь окончания репликации (утилита
kafka-topicsне должна показывать ни одной не полностью реплицированной партиции).Повторите шаги 2 и 3 для каждого последующего брокера кластера.
Уберите параметр
inter.broker.protocol.version=Xиз файловserver.propertiesвсех брокеров и выполните повторный перезапуск.После перехода клиентов на новую версию уберите параметр
log.message.format.version=Хи перезапустить кластер.
Откат#
Для отката версии Corax выполните удаление текущией версии и установку требуемой.
Проверка работоспособности#
Для проверки работтоспособновти:
Запустите Corax, выполнив команды (в разных терминалах):
Запуск Zookeeper
$ bin/zookeeper-server-start.sh config/zookeeper.propertiesЗапуск брокера Kafka
$ bin/kafka-server-start.sh config/server.propertiesСоздайте топик для проверки работоспособности (в новом окне терминала):
$ bin/kafka-topics.sh --create --topic quickstart-events --bootstrap-server localhost:9092Все инструменты командной строки Kafka имеют дополнительные опции. Для отображения информации о доступных опциях, запустите команду
kafka-topics.shбез аргументов. Например, сущемтвует опция отображения количества разделов нового топика:$ bin/kafka-topics.sh --describe --topic quickstart-events --bootstrap-server localhost:9092 Topic:quickstart-events PartitionCount:1 ReplicationFactor:1 Configs: Topic: quickstart-events Partition: 0 Leader: 0 Replicas: 0 Isr: 0Запустите консольный клиент-производитель и запишите несколько событий в созданный ранее топик. По умолчанию каждая введенная строка приведет к записи в топик отдельного события.
\$ bin/kafka-topics.sh \--describe \--topic quickstart-events \--bootstrap-server localhost:9092 This is my first event This is my second eventРаботу клиента-производителя можно остановить в любое время при помощи комбинации клавиш Ctrl+C.
Откройте новое окно терминала и запустите консольный клиент-потребитель для чтения созданных ранее событий:
$ bin/kafka-topics.sh --describe --topic quickstart-events --bootstrap-server localhost:9092 This is my first event This is my second eventРаботу клиента-потребителя можно остановить в любое время при помощи комбинации клавиш Ctrl+C.
Завершите работу среды Kafka необходимо:
Остановить работу клиента-производителя и клиента-потребителя с помощью сочетания клавиш Ctrl+C.
Остановить работу брокера Kafka сочетанием клавиш Ctrl+C.
Остановить сервер ZooKeeper сочетанием клавиш Ctrl+C.
Для удаления данных и локальной среды Kafka, включая любые события, созданные в процессе работы, выполните команду:
$ rm -rf /tmp/kafka-logs /tmp/zookeeper