不同的版本kakfa的docker镜像内容会有差异,也可以选择自己制作docker
一、安装wurstmeister版本的zookeeper和kafka
1.1 安装zookeeper和kafka
docker pull wurstmeister/zookeeper
docker run -d --name zookeeper -p 2181:2181 -t wurstmeister/zookeeper
docker pull wurstmeister/kafka
// KAFKA_ZOOKEEPER_CONNECT 和 KAFKA_ADVERTISED_LISTENERS必须为宿主机的ip地址
// 不能为0.0.0.0或者127.0.0.1,否则启动失败
// KAFKA_ADVERTISED_LISTENERS为kafka注册到zookeeper的地址
// KAFKA_ZOOKEEPER_CONNECT为zookeeper的连接地址
docker run -d --name kafka -p 9092:9092 -e KAFKA_BROKER_ID=0 -e KAFKA_ZOOKEEPER_CONNECT=192.168.0.187:2181 -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://192.168.0.187:9092 -e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 -t wurstmeister/kafka
1.2 测试
- 验证zookeeper是否启动正常
宿主机执行
➜ lsof -i:2181
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
com.docke 61839 sg99065ml 119u IPv6 0x9822ff344187568d 0t0 TCP *:eforward (LISTEN)
➜ telnet 0.0.0.0 2181
Trying 0.0.0.0...
Connected to 0.0.0.0.
Escape character is '^]'.
^CConnection closed by foreign host.
- 验证kafka是否启动正常
lsof -i:9092
telnet 127.0.0.1 9092
通过kafka的可视化工具Kafka Tool
查看
1.3 容器启动失败排查方法
// 查看所有的docker容器,包括所有状态的容器,拿到启动启动失败的容器id
docker ps -a
// 查看容器日志
docker logs 容器id
1.4 创建topic,查看topic
// 获取正在运行的kafka容器id
docker ps
// 进入容器
docker exec -it 2faa4104a487 bash
// 找到kafka的容器内的执行脚本路径
find / | grep kafka-topics.sh
cd /opt/kafka_2.13-2.7.1/bin
// 查看当前的topic列表,ip为宿主机ip(在```Kafka Tool```中新建topic,此处可以查看到)
./kafka-topics.sh --list --zookeeper 192.168.0.187:2181
./kafka-topics.sh --list --zookeeper 192.168.0.187:2181
参考
【1】使用docker安装kafka:https://hwy.ac.cn/2018/08/07/%E4%BD%BF%E7%94%A8docker%E5%AE%89%E8%A3%85kafka/ (wurstmeister版本的kafka参考)
【2】docker安装kafka及使用
【3】使用Docker快速搭建Kafka开发环境:https://www.jianshu.com/p/ac03f126980e
【4】利用Dockerb版本的debezium、kafka connector解析 postgres logical 到 kafka:https://blog.csdn.net/ctwy291314/article/details/120214206
【5】Kafka 可视化工具(Kafka Tool)
【6】kafka的数据可视化界面管理工具有哪些?:https://www.zhihu.com/question/453655634
【7】kafka使用常见报错及解决方法:https://www.jianshu.com/p/9e72b3942c59
网友评论