Kafka: различия между версиями
FireWolf (обсуждение | вклад) |
FireWolf (обсуждение | вклад) |
||
Строка 68: | Строка 68: | ||
- /opt/docker/kafka/:/kafka/ | - /opt/docker/kafka/:/kafka/ | ||
</syntaxhighlight> | </syntaxhighlight> | ||
= Удаление топика = | |||
./kafka-topics.sh --zookeeper localhost --delete --topic topic1 | |||
= Удаление топика помеченного MarkedForDeletion:true = | |||
./zkCli.sh --server 127.0.0.1:2183 | |||
rmr /brokers/topics/topic1 | |||
delete /admin/delete_topics/topic1 | |||
После этого можно будет пересоздать топик. | |||
= Ссылки = | = Ссылки = |
Версия 13:30, 1 июня 2018
Список каналов
~/work/kafka_2.11-0.10.1.1/bin$ ./kafka-topics.sh --zookeeper 172.18.0.5:2181 --list
__consumer_offsets
telestat-v2-sink
topic-jhipster
Вместо прямых IP адресов можно использовать название сервиса:
~/work/kafka_2.11-0.10.1.1/bin$ ./kafka-topics.sh --zookeeper telestat-zookeeper:2181 --list
Запись в канал
В консоли каждая строка будет отдельным сообщением в канал
~/work/kafka_2.11-0.10.1.1/bin$ ./kafka-console-producer.sh --broker-list 172.18.0.3:9092 --topic telestat-v2-sink
Чтение из канала
~/work/kafka_2.11-0.10.1.1/bin$ ./kafka-console-consumer.sh --bootstrap-server 172.18.0.3:9092 --topic telestat-v2-sink --from-beginning
Статьи
http://dotsandbrackets.com/highly-available-kafka-cluster-docker-ru/
https://sematext.com/blog/monitoring-kafka-on-docker-cloud/
Построение кластера
Предварительно нужен настроенный zookeeper, в примере используется кворум (3 сервиса), настройка тут Zookeeper.
Пример kafka-cluster.yml для одного хоста, у другого будет все аналогично, за исключением KAFKA_BROKER_ID и KAFKA_ADVERTISED_HOST_NAME
Можно поменять порядок хостов в KAFKA_ZOOKEEPER_CONNECT.
KAFKA_BROKER_ID можно не указывать, он настроится автоматически.
version: '2'
services:
kafka-cluster:
container_name: kafka-cluster
image: wurstmeister/kafka:1.0.0
environment:
## NB! SET KAFKA_BROKER_ID UNIQUE PER HOST
KAFKA_BROKER_ID: 1
KAFKA_ADVERTISED_HOST_NAME: kafka1
KAFKA_ADVERTISED_PORT: 9092
KAFKA_ZOOKEEPER_CONNECT: zoo1:2183,zoo2:2183,zoo3:2183
# KAFKA_CREATE_TOPICS: "telestat-v2-sink:1:2,prozvon-sink:1:2,teledemo-v2-sink:1:2"
KAFKA_LOG_DIRS: /kafka/kafka-logs
ports:
- 9092:9092
restart: always
extra_hosts:
- "zoo1:192.168.1.8"
- "zoo2:192.168.1.7"
- "zoo3:192.168.1.6"
volumes:
- /opt/docker/kafka/:/kafka/
Удаление топика
./kafka-topics.sh --zookeeper localhost --delete --topic topic1
Удаление топика помеченного MarkedForDeletion:true
./zkCli.sh --server 127.0.0.1:2183 rmr /brokers/topics/topic1 delete /admin/delete_topics/topic1
После этого можно будет пересоздать топик.
Ссылки
http://kafka.apache.org/documentation.html#uses
https://stackoverflow.com/questions/25452369/best-option-to-put-nginx-logs-into-kafka