拉取镜像
docker pull wurstmeister/kafka:1.1.0
启动
docker run -d --restart=always --network host --log-driver json-file --log-opt max-size=100m --log-opt max-file=2 --name kafka -e KAFKA_BROKER_ID=0 -e KAFKA_ZOOKEEPER_CONNECT=10.45.18.235:2181/kafka -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://10.45.18.235:9092 -e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 -v /etc/localtime:/etc/localtime wurstmeister/kafka:1.1.0
参数说明:
-e KAFKA_BROKER_ID=0 在kafka集群中,每个kafka都有一个BROKER_ID来区分自己
-e KAFKA_ZOOKEEPER_CONNECT=192.168.124.28:2181/kafka 配置zookeeper管理kafka的路径10.45.18.235:2181/kafka
-e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://10.45.18.235:9092 把kafka的地址端口注册给zookeeper,如果是远程访问要改成外网IP,类如Java程序访问出现无法连接。
-e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 配置kafka的监听端口
-v /etc/localtime:/etc/localtime 容器时间同步虚拟机的时间
演示
发送消息
--broker-list
当前 kafka 服务
--topic
kafka 主题
docker exec -it kafka /opt/kafka/bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test
发送消息
>1
>2
>3
>4
>5
>6
>7
>8
>9
接收消息
--bootstrap-server
当前 kafka 服务
--topic
kafka 主题
--from-beginning
从开始记录
docker exec -it kafka /opt/kafka/bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning
1
2
3
4
5
6
7
8
9
参考
作者:欧阳俊
链接:https://juejin.cn/post/6960820341631352868
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
安装 ksqlDB
拉取镜像
docker pull confluentinc/ksqldb-server:0.27.1
docker pull confluentinc/ksqldb-cli:0.27.1
启动 ksqldb-server
docker run -d --restart=always --network host --name ksqldb-server -e KSQL_LISTENERS=http://0.0.0.0:8088 -e KSQL_BOOTSTRAP_SERVERS=10.45.18.235:9092 -e KSQL_KSQL_LOGGING_PROCESSING_STREAM_AUTO_CREATE=true -e KSQL_KSQL_LOGGING_PROCESSING_TOPIC_AUTO_CREATE=true confluentinc/ksqldb-server:0.27.1
启动 ksqldb-cli
docker run --restart=always --network host --name ksqldb-cli -d confluentinc/ksqldb-cli:0.27.1 /bin/sh -c "while true; do echo 1; sleep 100000; done;"
使用 ksqldb-cli
docker exec -it ksqldb-cli ksql http://10.45.18.235:8088
➜ ~ docker exec -it ksqldb-cli ksql http://10.45.18.235:8088
OpenJDK 64-Bit Server VM warning: Option UseConcMarkSweepGC was deprecated in version 9.0 and will likely be removed in a future release.
===========================================
= _ _ ____ ____ =
= | | _____ __ _| | _ \| __ ) =
= | |/ / __|/ _` | | | | | _ \ =
= | <\__ \ (_| | | |_| | |_) | =
= |_|\_\___/\__, |_|____/|____/ =
= |_| =
= The Database purpose-built =
= for stream processing apps =
===========================================
Copyright 2017-2022 Confluent Inc.
CLI v0.27.1, Server v0.27.1 located at http://10.45.18.235:8088
Server Status: RUNNING
Having trouble? Type 'help' (case-insensitive) for a rundown of how things work!
ksql>