安装zookeeper
阿丹小科普:
Kafka在0.11.0.0版本之后不再依赖Zookeeper,而是使用基于Raft协议的Kafka自身的仲裁机制来替代Zookeeper。具体来说,Kafka 2.8.0版本是第一个不需要Zookeeper就可以运行Kafka的版本,这被称为Kafka Raft Metadata mode(Kafka Raft元数据模式)。引入基于Raft协议的KRaft模式使得Kafka可以支持取消对Zookeeper的依赖,用户可以在完全不需要Zookeeper的情况下执行Kafka,这不仅节省了计算资源,而且也使得Kafka性能更好,并可以支持规模更大的集群。
docker run -p 2181:2181 --name zookeeper -v $PWD/conf:/opt/zookeeper/conf -v $PWD/data:/tmp/zookeeper -d mesoscloud/zookeeper:3.4.8
代码解释:
这段代码是用于在 Docker 上运行 Zookeeper 服务的命令。下面是每个选项的解释:
-d
:在后台运行容器。--name zookeeper-server
:给容器命名为 "zookeeper-server"。--network app-tier
:将容器连接到名为 "app-tier" 的网络中。-e ALLOW_ANONYMOUS_LOGIN=yes
:设置环境变量 ALLOW_ANONYMOUS_LOGIN 为 "yes",允许匿名用户登录。bitnami/zookeeper:latest
:使用最新版本的 Bitnami Zookeeper 镜像。
这个命令将在后台运行一个名为 "zookeeper-server" 的容器,并将其连接到名为 "app-tier" 的网络中。容器的环境变量 ALLOW_ANONYMOUS_LOGIN 被设置为 "yes",以允许匿名用户登录。最后,使用最新版本的 Bitnami Zookeeper 镜像来启动容器。
查看zookeeper容器日志(可省略)
docker logs -f zookeeper
安装kafka
docker run -d --name kafka -p 9092:9092 -e KAFKA_BROKER_ID=0 -e KAFKA_ZOOKEEPER_CONNECT=ip:2181 -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://ip:9092 -e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 -d wurstmeister/kafka:2.11-2.0.0
安装并运行Kafka,
–name:容器名称
-p:设置映射端口(默认9092 )
-d:后台启动
ALLOW_PLAINTEXT_LISTENER任何人可以访问
KAFKA_CFG_ZOOKEEPER_CONNECT链接的zookeeper
ALLOW_PLAINTEXT_LISTENER任何人可以访问
KAFKA_CFG_ZOOKEEPER_CONNECT链接的zookeeper
KAFKA_CFG_ADVERTISED_LISTENERS当前主机IP或地址(重点:如果是服务器部署则配服务器IP或域名否则客户端监听消息会报地址错误)
查看kafka容器日志(可省略)
docker logs -f kafka
kafka-map图形化管理工具(好用)
图形化管理工具
访问地址:http://服务器IP:9001/
DEFAULT_USERNAME:默认账号admin
DEFAULT_PASSWORD:默认密码admin
docker run -d --name kafka-map \-p 8080:8080 \-v /opt/kafka-map/data:/usr/local/kafka-map/data \-e DEFAULT_USERNAME=admin \-e DEFAULT_PASSWORD=admin \--restart always dushixiang/kafka-map:latest