docker中快速安装Kafka_单节点
- 1. 拉镜像
- 2. 创建网络环境
- 3. 运行zookeeper容器实例
- 4. 运行kafka容器实例
- 5. 启动kafka客户端容器实例
- 6. 配置说明
- 7. docker中topic常用命令操作
- 1. 创建topic
- 2. 查看所有topic信息
- 8. docker中生产者生产消息常用命令操作
- 9. docker中消费者消费消息常用命令操作
- 10. 进入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:动物园管理员连接的身份验证协议。允许的协议:明文、SASL、SSL 和SASL_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 证书格式。允许的值:、 。默认值:JKS。JKS``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 证书格式。允许的值:、 。默认值:JKS。JKS``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 连接的 Kafka Broker 主机名称和端口号 –topic 操作的 topic 名称 –create<> 创建主题 –delete 删除主题 –alter 修改主题 –list 查看所有主题 –describe 查看主题详细描述 –partitions 设置分区数 –replication-factor 设置分区副本 –config 更新系统默认的配置 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 连接的 Kafka Broker 主机名称和端口号 –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中消费者消费消息常用命令操作
常用命令参数及描述如下
参数 描述 –bootstrap-server 连接的 Kafka Broker 主机名称和端口号 –topic 后面紧跟操作的 topic 名称 –from-beginning 从头开始消费,历史数据全部消费出来 –group 指定消费者组名称 # 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$
猜你喜欢
- 12小时前JavaMySql+hadoop高校固定资产管理系统 74965(免费领源码)计算机毕业设计选题推荐上万套实战教程JAVA、PHP,node.js,C++、python等
- 12小时前将网页数据读入数据库+将数据库数据读出到网页——基于python flask实现网页与数据库的交互连接【全网最全】
- 11小时前关于酒的古诗(关于酒的古诗词文)
- 10小时前浙江传媒学院(浙江传媒学院硕士点)
- 9小时前小考成绩怎么查(小考成绩怎么查2024山西)
- 7小时前自然景观资料(自然景观资源有哪些)
- 2小时前patrol尼桑(patrol尼桑途乐价格)
- 1小时前微信怎么发说说(微信怎么发说说只含文字)
- 1小时前河北经贸大学是一本吗(河北经贸大学是一本吗国内排名第几)
- 1小时前画布(画布是什么意思)
网友评论
- 搜索
- 最新文章
- 热门文章