一、简介
操作系统:Linux CentOS 7.3 64位
docker版本:19.03.8
kafka版本:默认拉取最新版本(2.5)
使用kafka还需要用到zookeeper,安装zookeeper
二、实践
2.1 拉取镜像
docker pull wurstmeister/kafka:latest
查看镜像
2.2 运行
docker run -d --restart=always --name kafka -p 9092:9092 -e KAFKA_BROKER_ID=0 -e KAFKA_ZOOKEEPER_CONNECT=47.98.183.103:2181/kafka -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://47.98.183.103:9092 -e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 -v /etc/timezone:/etc/timezone wurstmeister/kafka:latest
- -d:后台运行
- --restart=always: docker重启时该容器自动启动
- --name:命名容器名称
- -p:端口映射
- -e KAFKA_BROKER_ID=0:在kafka集群中,每个kafka都有一个BROKER_ID来区分自己
- -e KAFKA_ZOOKEEPER_CONNECT=47.98.183.103:2181/kafka: 配置zookeeper管理kafka的路径,这里的ip地址和端口是zookeeper的
- -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://47.98.183.103:9092:把kafka的地址端口注册到zookeeper,这里的ip地址和端口是kafka的
- -e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092:配置kafka的监听端口
- -v /etc/timezone:/etc/timezone :同步容器与系统的时间
查看容器
使用docker logs 容器名或id 命令可以查看容器日志
若容器报错/usr/bin/start-kafka.sh: line 149: /opt/kafka/bin/kafka-server-start.sh: No such file or direc
这时查看zookeeper可以看到创建了kafka相关节点