docker中快速安装Kafka(单节点)

这篇具有很好参考价值的文章主要介绍了docker中快速安装Kafka(单节点)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

官网:https://hub.docker.com/r/bitnami/kafka

1. 拉镜像

# 拉取zookeeper镜像
docker pull zookeeper:3.8.1
# 拉取Kafka镜像
docker pull bitnami/kafka:3.4.0

2. 创建网络环境

# docker网络命令帮助: 
docker network
# 创建名称为zk-kafak的网络,使用bridge网络模式
docker network create zk-kafka --driver bridge

3. 运行zookeeper容器实例

docker run -d --name zk-server  --network zk-kafka -e ALLOW_ANONYMOUS_LOGIN=yes --restart always zookeeper:3.8.1 
#此镜像分别包括(zookeeper 客户端端口、追随者端口、选举端口、管理服务器端口),因此标准容器链接将使其自动可用于链接的容器。由于 Zookeeper “快速失败”,因此最好始终重新启动它。EXPOSE 2181 2888 3888 8080

4. 运行kafka容器实例

docker run -d --name kafka-server \
    --network zk-kafka \
    -e ALLOW_PLAINTEXT_LISTENER=yes \
    -e KAFKA_CFG_ZOOKEEPER_CONNECT=zk-server:2181 \
    -p 9092:9092 \
    -p 9093:9093 \
    --restart always \
    bitnami/kafka:3.4.0

5. 启动kafka客户端容器实例

docker run -it --rm \
    --network zk-kafka \
    -e KAFKA_CFG_ZOOKEEPER_CONNECT=zk-server:2181 \
    bitnami/kafka:3.4.0 kafka-topics.sh --list  --bootstrap-server kafka-server:9092

6. 配置说明

可以使用以下环境变量通过Bitnami Apache Kafka Docker映像轻松设置配置:

  • ALLOW_PLAINTEXT_LISTENER:允许使用明文侦听器。默认值:
  • KAFKA_INTER_BROKER_USER:Apache Kafka 代理间通信用户。默认值:用户
  • KAFKA_INTER_BROKER_PASSWORD:Apache Kafka 代理间通信密码。默认值:比特纳米。
  • KAFKA_CERTIFICATE_PASSWORD:证书的密码。无默认值。
  • KAFKA_HEAP_OPTS:Apache Kafka 的 Java 堆大小。默认值:-Xmx1024m -Xms1024m
  • KAFKA_ZOOKEEPER_PROTOCOL:动物园管理员连接的身份验证协议。允许的协议:明文SASLSSLSASL_SSL。默认值:纯文本
  • KAFKA_ZOOKEEPER_USER:用于 SASL 身份验证的 Apache Kafka Zookeeper 用户。无默认值。
  • KAFKA_ZOOKEEPER_PASSWORD:用于 SASL 身份验证的 Apache Kafka Zookeeper 用户密码。无默认值。
  • KAFKA_ZOOKEEPER_TLS_KEYSTORE_PASSWORD:Apache Kafka Zookeeper 密钥库文件密码和密钥密码。无默认值。
  • KAFKA_ZOOKEEPER_TLS_TRUSTSTORE_PASSWORD:Apache Kafka Zookeeper 信任库文件密码。无默认值。
  • KAFKA_ZOOKEEPER_TLS_VERIFY_HOSTNAME:验证 TLS 证书上的动物园管理员主机名。默认值:
  • KAFKA_ZOOKEEPER_TLS_TYPE:选择要使用的 TLS 证书格式。允许的值:、 。默认值:JKSJKS``PEM
  • KAFKA_CFG_SASL_ENABLED_MECHANISMS:对客户端、代理间或动物园管理员通信使用 SASL 时允许的机制。允许的值:、 或这些值的逗号分隔组合。默认值:普通,加扰-SHA-256,加扰-SHA-512PLAIN``SCRAM-SHA-256``SCRAM-SHA-512
  • KAFKA_CFG_SASL_MECHANISM_INTER_BROKER_PROTOCOL:用于代理间通信的 SASL 机制。无默认值。
  • KAFKA_TLS_CLIENT_AUTH:配置 kafka 代理以请求客户端身份验证。允许的值:、、。默认值:必需required``requested``none
  • KAFKA_TLS_TYPE:选择要使用的 TLS 证书格式。允许的值:、 。默认值:JKSJKS``PEM
  • KAFKA_CLIENT_USERS:使用 SASL 进行客户端通信时将在 Zookeeper 中创建的用户。以逗号分隔。默认值:用户
  • KAFKA_CLIENT_PASSWORDS:指定用户的密码。以逗号分隔。默认值:比特纳米KAFKA_CLIENT_USERS
  • KAFKA_CFG_MAX_PARTITION_FETCH_BYTES:服务器将返回的每个分区的最大数据量。默认值:1048576
  • KAFKA_CFG_MAX_REQUEST_SIZE:请求的最大大小(以字节为单位)。默认值:1048576
  • KAFKA_ENABLE_KRAFT:是否启用卡夫卡筏(KRaft)模式。默认值:
  • KAFKA_KRAFT_CLUSTER_ID:使用 Kafka Raft (KRaft) 时的 Kafka 集群 ID。无默认值。

此外,任何以 开头的环境变量都将映射到其相应的 Apache Kafka 键。例如,用于设置或配置。KAFKA_CFG_``KAFKA_CFG_BACKGROUND_THREADS``background.threads``KAFKA_CFG_AUTO_CREATE_TOPICS_ENABLE``auto.create.topics.enable

7. docker中topic常用命令操作

常用命令参数及描述如下

参数 描述
–bootstrap-server<String: sever toconnect to> 连接的 Kafka Broker 主机名称和端口号
–topic <String:topic > 操作的 topic 名称
–create<> 创建主题
–delete 删除主题
–alter 修改主题
–list 查看所有主题
–describe 查看主题详细描述
–partitions<Integer: # of partitions> 设置分区数
–replication-factor <Integer: # replication factor> 设置分区副本
–config <String: name=value> 更新系统默认的配置

1. 创建topic

# 创建名称为demo的topic,副本1 分区1
docker run -it --rm --network zk-kafka -e KAFKA_CFG_ZOOKEEPER_CONNECT=zk-server:2181 bitnami/kafka:3.4.0 kafka-topics.sh --bootstrap-server kafka-server:9092 --create --partitions 1 --replication-factor 1 --topic demo

# topic-CRUD命令如上表

2. 查看所有topic信息

# 查看所有topic信息
# docker run -it --rm --network zk-kafka -e KAFKA_CFG_ZOOKEEPER_CONNECT=zk-server:2181 bitnami/kafka:3.4.0 kafka-topics.sh --bootstrap-server kafka-server:9092 --list
# 执行命令
root@yuan-server:~# docker run -it --rm --network zk-kafka -e KAFKA_CFG_ZOOKEEPER_CONNECT=zk-server:2181 bitnami/kafka:3.4.0 kafka-topics.sh --bootstrap-server kafka-server:9092 --list
kafka 12:02:50.11 
kafka 12:02:50.11 Welcome to the Bitnami kafka container
kafka 12:02:50.12 Subscribe to project updates by watching https://github.com/bitnami/containers
kafka 12:02:50.12 Submit issues and feature requests at https://github.com/bitnami/containers/issues
kafka 12:02:50.12 
# 结果
__consumer_offsets
firstMsg
root@yuan-server:~# 

# 查看具体topic信息,如下查看
#docker run -it --rm --network zk-kafka -e KAFKA_CFG_ZOOKEEPER_CONNECT=zk-server:2181 bitnami/kafka:3.4.0 kafka-topics.sh --bootstrap-server kafka-server:9092 --topic firstMsg --describe
# 执行命令
root@yuan-server:~# docker run -it --rm --network zk-kafka -e KAFKA_CFG_ZOOKEEPER_CONNECT=zk-server:2181 bitnami/kafka:3.4.0 kafka-topics.sh --bootstrap-server kafka-server:9092 --topic firstMsg --describe
kafka 12:05:20.42 
kafka 12:05:20.42 Welcome to the Bitnami kafka container
kafka 12:05:20.42 Subscribe to project updates by watching https://github.com/bitnami/containers
kafka 12:05:20.43 Submit issues and feature requests at https://github.com/bitnami/containers/issues
kafka 12:05:20.43 
# 结果
Topic: firstMsg TopicId: D9Ui-dWjRtapZEXdq4WnOg PartitionCount: 1       ReplicationFactor: 1    Configs: 
        Topic: firstMsg Partition: 0    Leader: 1001    Replicas: 1001  Isr: 1001
root@yuan-server:~# 

8. docker中生产者生产消息常用命令操作

常用命令参数及描述如下

参数 描述
–bootstrap-server<String: sever toconnect to> 连接的 Kafka Broker 主机名称和端口号
–topic <String:topic > 操作的 topic 名称
# bin/kafka-console-producer.sh --bootstrap-server kafka-server:9092 --topic demo

docker run -it --rm --network zk-kafka -e KAFKA_CFG_ZOOKEEPER_CONNECT=zk-server:2181 bitnami/kafka:3.4.0 kafka-console-producer.sh --bootstrap-server kafka-server:9092 --topic demo

9. docker中消费者消费消息常用命令操作

常用命令参数及描述如下文章来源地址https://www.toymoban.com/news/detail-699615.html

参数 描述
–bootstrap-server<String: sever toconnect to> 连接的 Kafka Broker 主机名称和端口号
–topic <String:topic > 后面紧跟操作的 topic 名称
–from-beginning 从头开始消费,历史数据全部消费出来
–group <String: consumer group id> 指定消费者组名称
# 1.消费最新消息,打开后监听并消费生产者最新生产的消息
# bin/kafka-console-consumer.sh --bootstrap-server kafka-server:9092 --topic demo
docker run -it --rm --network zk-kafka -e KAFKA_CFG_ZOOKEEPER_CONNECT=zk-server:2181 bitnami/kafka:3.4.0 kafka-console-consumer.sh --bootstrap-server kafka-server:9092 --topic demo

# 2.设置--from-beginning参数:表示从头开始消费消息,表示所有历史消息都能看到
docker run -it --rm --network zk-kafka -e KAFKA_CFG_ZOOKEEPER_CONNECT=zk-server:2181 bitnami/kafka:3.4.0 kafka-console-consumer.sh --bootstrap-server kafka-server:9092 --topic demo --from-beginning

10. 进入kafka容器内部

docker exec -it kafka-server /bin/bash

# bin目录位置: /opt/bitnami/kafka/bin
I have no name!@a8ab5ce1ba0b:/opt/bitnami/kafka/bin$ pwd
/opt/bitnami/kafka/bin
# 进入到/opt/bitnami/kafka/bin目录下,并查看所有可执行文件
I have no name!@a8ab5ce1ba0b:/opt/bitnami/kafka/bin$ cd /opt/bitnami/kafka/bin && ls -l
total 164
-rwxrwxr-x 1 root root  1423 Feb 15 14:24 connect-distributed.sh
-rwxrwxr-x 1 root root  1396 Feb 15 14:24 connect-mirror-maker.sh
-rwxrwxr-x 1 root root  1420 Feb 15 14:24 connect-standalone.sh
-rwxrwxr-x 1 root root   861 Feb 15 14:24 kafka-acls.sh
-rwxrwxr-x 1 root root   873 Feb 15 14:24 kafka-broker-api-versions.sh
-rwxrwxr-x 1 root root   860 Feb 15 14:24 kafka-cluster.sh
-rwxrwxr-x 1 root root   864 Feb 15 14:24 kafka-configs.sh
-rwxrwxr-x 1 root root   945 Feb 15 14:24 kafka-console-consumer.sh
-rwxrwxr-x 1 root root   944 Feb 15 14:24 kafka-console-producer.sh
-rwxrwxr-x 1 root root   871 Feb 15 14:24 kafka-consumer-groups.sh
-rwxrwxr-x 1 root root  1370 Mar  2 00:59 kafka-server-start.sh
-rwxrwxr-x 1 root root  1361 Feb 15 14:24 kafka-server-stop.sh
-rwxrwxr-x 1 root root   860 Feb 15 14:24 kafka-storage.sh
-rwxrwxr-x 1 root root   945 Feb 15 14:24 kafka-streams-application-reset.sh
-rwxrwxr-x 1 root root   863 Feb 15 14:24 kafka-topics.sh
......
I have no name!@a8ab5ce1ba0b:/opt/bitnami/kafka/bin$ 

到了这里,关于docker中快速安装Kafka(单节点)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Docker安装部署Kafka+Zookeeper详细教程】

    Docker拉取zookeeper的镜像 Docker拉取kafka的镜像 这个地方没有使用挂载目录的方式,想要使用挂载目录的方式可以看我前面的文章呦!!! 【Linux操作系统使用Docker部署Zookeeper】 【Docker安装部署Zookeeper集群】 参数说明 查看zookeeper的ip地址 后面部署kafka会使用到zookeeper的ip地址 进

    2023年04月19日
    浏览(48)
  • docker-compose安装kafka、zookeeper

    #安装docker-compose,(下载好docker-compose) #将 docker-compose 移动到相应目录 #授权 #创建kafka目录 #授权 #编写 docker-compose.yml #将docker-compose.yml放到 /docker 目录,目录下执行

    2024年02月12日
    浏览(47)
  • 从0到一搭建Kafka-单机版-通过单机版zookeeper配置

    教程https://www.bilibili.com/video/BV1t34y1G7NW/ 首先得找到一些基本概念: Java 程序从源代码到运行主要有三步: 编译 :将我们的代码(.java)编译成虚拟机可以识别理解的字节码(.class) 解释 :虚拟机执行Java字节码,将字节码翻译成机器能识别的机器码 执行 :对应的机器执行二进

    2024年02月07日
    浏览(44)
  • mac m1 docker 安装kafka和zookeeper

    获取本地ip地址  ifconfig en0   192.168.0.105.   下面的ip都会使用到 1、拉取镜像 docker pull wurstmeister/zookeeper docker pull wurstmeister/kafka 2、启动容器 启动 zookeeper docker run -d --name zookeeper -p 2181:2181 映射 3、 启动 kafka 注意,kafka 依赖 zookeeper,启动 kafka 前需要先启动 zookeeper。 这边端口

    2024年02月10日
    浏览(44)
  • Windows使用docker desktop 安装kafka、zookeeper集群

    参考文章:http://t.csdn.cn/TtTYI https://blog.csdn.net/u010416101/article/details/122803105?spm=1001.2014.3001.5501 准备工作: ​ 在开始新建集群之前,新建好文件夹,用来挂载kafka、zookeeper数据,如下: zookeeper文件夹 D:softdockerzookeeperzoo1data D:softdockerzookeeperzoo1datalog D:softdockerzookeeperzoo

    2024年02月14日
    浏览(45)
  • 记一次docker安装kafka,zookeeper拒绝连接的问题

    第一次玩kafka,在使用docker安装kafka时,出现了如下问题 kafka的启动参数KAFKA_ZOOKEEPER_CONNECT不能是localhost:2181,因为不是在一个容器中,localhost改为ip地址就可以了 nc 命令连接到 localhost:2181,确保ZooKeeper 服务器正在监听该地址,并且可以通过网络进行访问 定位的过程中还遇到了

    2024年02月10日
    浏览(59)
  • centos7-docker安装与配置kafka+zookeeper+kafkamanager

    一、 默认 docker 环境已经 OK 拉镜像 docker pull wurstmeister/zookeeper docker pull wurstmeister/kafka docker pull sheepkiller/kafka-manager 删镜像 docker rmi + 镜像 id 查看镜像 [root@build-science-system-services-03 ~]# docker images 二、运行相关容器 启动 zookeeper : docker run -d --name zookeeper -p 2191:2181 --restart=always

    2024年02月09日
    浏览(54)
  • Mac m1 docker安装 elasticsearch+kibana、zookeeper+kafka(不指定ip方式,验证无误)

    🌸 🌸 重点写在前面——注意docker本机地址请使用 host.docker.internal 🌸 🌸 由于 macOS 的 docker 底层实现的不同,主要原因是 macOS 的 docker 在容器和宿主之间无法通过 ip 直接通信。因此在安装的时候需要特殊注意与 ip 相关的设置, 当容器需要访问宿主ip时 ,需要使用 docker.f

    2024年02月11日
    浏览(54)
  • docker-compose部署kafka单机和集群

    使用 docker-compose 部署 Kafka:3.5。 从 3.3 版本后,Kafka 引入了 KRaft 来替代 ZooKeeper,所以我们不必再部署 zk 了。 记得修改 KAFKA_CFG_ADVERTISED_LISTENERS 的 ip 为自己的 记得修改 KAFKA_CFG_ADVERTISED_LISTENERS 的 ip 地址为自己的 我们之后测试肯定用集群部署,就算是测试,也不用单机模式,

    2024年02月01日
    浏览(50)
  • kafka--技术文档--基本docker中安装<单机>-linux

    阿丹小科普:         Kafka在0.11.0.0版本之后不再依赖Zookeeper,而是使用基于Raft协议的Kafka自身的仲裁机制来替代Zookeeper。具体来说,Kafka 2.8.0版本是第一个不需要Zookeeper就可以运行Kafka的版本,这被称为Kafka Raft Metadata mode(Kafka Raft元数据模式)。引入基于Raft协议的KRaft模

    2024年02月11日
    浏览(47)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包