本节采用docker安装Kafka。采用的是bitnami的镜像。Bitnami是一个提供各种流行应用的Docker镜像和软件包的公司。采用docker的方式3分钟就可以把我们想安装的程序运行起来,不得不说真的很方便啊,好了,开搞。使用前提:Linux虚拟机,安装好了docker环境。如果没有安装docker的话,请参考这里,先把docker先安装上。
一、查看kafka镜像
[root@localhost ~]# docker search kafka
NAME                                         DESCRIPTION                                      STARS     OFFICIAL   AUTOMATED
bitnami/kafka                                Apache Kafka is a distributed streaming plat…   740                  [OK]
ubuntu/kafka                                 Apache Kafka, a distributed event streaming …   35                   
bitnami/kafka-exporter                                                                        13        
我们选择Star最多的镜像: bitnami/kafka。
二、拉取镜像
用docker pull命令拉取
[root@localhost ~]# docker pull bitnami/kafka
Using default tag: latest
latest: Pulling from bitnami/kafka
......
如果不指定版本,那么默认是latest版本。
三、查看镜像
[root@localhost ~]# docker images
REPOSITORY      TAG       IMAGE ID       CREATED         SIZE
bitnami/kafka   latest    7e7d5501f213   33 hours ago    559MB
可以看到镜像拉下来了
四、安装zookeeper集群
同样的,我们也用docker镜像的方式来安装
 镜像搜索
[root@localhost ~]# docker search zookeeper
NAME                             DESCRIPTION                                      STARS     OFFICIAL   AUTOMATED
zookeeper                        Apache ZooKeeper is an open-source server wh…   1385      [OK]       
bitnami/zookeeper                ZooKeeper is a centralized service for distr…   99                   [OK]还是安装bitnami/zookeeper
[root@localhost ~]# docker pull bitnami/zookeeper
Using default tag: latest
latest: Pulling from bitnami/zookeeper
运行zookeeper镜像
docker run --name zookeeper -d -p 2181:2181 -e ALLOW_ANONYMOUS_LOGIN=yes  bitnami/zookeeper
四、运行kafka镜像
docker run -d --name kafka -p 9092:9092 --restart=always \
-e KAFKA_BROKER_ID=0 \
-e ALLOW_PLAINTEXT_LISTENER=yes \
-e KAFKA_CFG_ZOOKEEPER_CONNECT=192.168.56.201:2181 \
-e KAFKA_CFG_ADVERTISED_LISTENERS=PLAINTEXT://192.168.56.201:9092 \
-e TZ="Asia/Shanghai" \bitnami/kafka:latest
其中本机器的ip是:
 第一行是docker 启动命令,指定为后台运行,指定端口映射
 -e:指定环境变量
 参数说明如下
- ALLOW_PLAINTEXT_LISTENER:允许使用PLAINTEXT侦听器
- KAFKA_BROKER_ID=0:集群的broker的ID,该ID是集群的唯一标识
- KAFKA_CFG_ZOOKEEPER_CONNECT:zk的连接地址
- KAFKA_CFG_ADVERTISED_LISTENERS:kafka发布到zookeeper供客户端使用的服务地址。
- TZ:指定时区,这里指定亚洲上海时区,也就是东八区
 运行命令后,查看一下容器是否启动成功了
[root@localhost ~]# docker ps
CONTAINER ID   IMAGE                  COMMAND                   CREATED         STATUS         PORTS                                       NAMES
922e61e655f6   bitnami/kafka:latest   "/opt/bitnami/script…"   6 seconds ago   Up 4 seconds   0.0.0.0:9092->9092/tcp, :::9092->9092/tcp   kafka
看上去是启动成功了
 查看日志
docker logs kafka

五、kafka客户端可视化工具的安装
下载 Offset Explorer 地址:https://www.kafkatool.com/
 建立一个连接
 
 再创建一个topic
 
 topic相关信息,如数据,分区和配置,都可以看到
 
六、扩展阅读
在玩容器的时候,一般搜索镜像的时候,会发现bitnami仓库的镜像,star都比较高。发现确实好用!
 这里附上
 官网链接:https://bitnami.com/stacks
 在bitnami的官网,可以看到很多打包好的应用,链接进去是github的链接,是相关的镜像的说明
 
其中kafka镜像的git链接:https://github.com/bitnami/containers/tree/main/bitnami/kafka