0%

docker: 部署 kafka

单节点安装

环境说明

  • Docker version 23.0.5, build bc4487a
  • kafka

拉取镜像

1
docker pull wurstmeister/kafka

部署 kafka

1
2
3
docker run -d --name kafka -p 9002:9002 -e KAFKA_BROKER_ID=0 -e KAFKA_ZOOKEEPER_CONNECT=192.168.1.9:2181/kafka -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://192.168.1.9:9002 -e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9002 -v /etc/localtime:/etc/localtime wurstmeister/kafka

docker run -d --restart=always --log-driver json-file --log-opt max-size=100m --log-opt max-file=2 --name kafka -p 9002:9002 -e KAFKA_BROKER_ID=0 -e KAFKA_ZOOKEEPER_CONNECT=192.168.1.9:2181/kafka -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://192.168.1.9:9002 -e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9002 -v /etc/localtime:/etc/localtime wurstmeister/kafka
  • 参数说明:
    KAFKA_BROKER_ID
    1
    2
    3
    4
    -e KAFKA_ZOOKEEPER_CONNECT=192.168.1.9:2181/kafka 配置zookeeper管理kafka的路径192.168.1.9:2181/kafka
    -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://192.168.1.9:9002 把kafka的地址端口注册给zookeeper,如果是远程访问要改成外网IP,类如Java程序访问出现无法连接。
    -e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9002 配置kafka的监听端口
    -v /etc/localtime:/etc/localtime 容器时间同步虚拟机的时间

测试安装是否成功

进入到 kafka 容器

1
2
docker exec -it 容器id bash
cd /opt/kafka_2.13-2.8.1/bin

创建主题

1
kafka-topics.sh --create --zookeeper 192.168.1.9:2181/kafka --replication-factor 1 --partitions 1 --topic kafkatest

开启终端 添加消息

1
kafka-console-producer.sh --broker-list localhost:9002 --topic kafkatest

消费消息

1
kafka-console-consumer.sh --bootstrap-server 192.168.1.9:9002 --topic kafkatest --from-beginning

kafka v2.5 之后 消费消息使用 –bootstrap-server 参数;端口使用:9092 或者是如上配置的 9002。

坚持原创技术分享,您的支持将鼓励我继续创作!
  • 本文作者: Char
  • 本文链接: docker: 部署 kafka/
  • 版权声明: 本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!

欢迎关注我的其它发布渠道