kafka的安装与配置

news/2024/11/20 15:26:26/文章来源:https://www.cnblogs.com/java5wanping/p/18431745

kafka的安装与配置

kafka的安装

在这我才用的是oracle云,系统是Ubuntu,在docker上按照的

安装docker

具体的安装方法请见docker-compose教程

查看docker版本

docker --version

Docker version 27.0.3, build 7d4bcd8

创建 Docker Compose 文件

Kafka 依赖 Zookeeper 来管理集群,因此我们需要创建一个 docker-compose.yml 文件来定义 Kafka 和 Zookeeper 的服务。

mkdir kafka
cd kafka
nano docker-compose.yml

编写文件:

version: '3'
services:zookeeper:image: confluentinc/cp-zookeeper:latestenvironment:ZOOKEEPER_CLIENT_PORT: 2181ZOOKEEPER_TICK_TIME: 2000ports:- "2181:2181"kafka:image: confluentinc/cp-kafka:latestdepends_on:- zookeeperenvironment:KAFKA_BROKER_ID: 1KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://localhost:9092KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1ports:- "9092:9092"

ZOOKEEPER_CLIENT_PORT: 2181:设置环境变量,定义 Zookeeper 客户端连接的端口

启动 Kafka 和 Zookeeper

保存并退出编辑器后,运行以下命令来启动 Kafka 和 Zookeeper:

docker-compose up -d

这个命令将启动两个 Docker 容器:一个运行 Zookeeper,另一个运行 Kafka

docker启动

如果不会compose的,也可以正常走

#启动zookeeper
docker run -d --name zookeeper -p 2181:2181 -e ZOOKEEPER_CLIENT_PORT=2181 confluentinc/cp-zookeeper:latest
#启动kafka
docker run -d --name kafka -p 9092:9092 -e KAFKA_BROKER_ID=1 \-e KAFKA_ZOOKEEPER_CONNECT=zookeeper:2181 \-e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://localhost:9092 \-e KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR=1 \--link zookeeper:zookeeper confluentinc/cp-kafka:latest

命令解释:

-d:在后台运行 Kafka 容器。

--name kafka:容器名称为 kafka

-p 9092:9092:将主机的 9092 端口映射到容器的 9092 端口(Kafka 的默认端口)。

-e KAFKA_BROKER_ID=1:设置 Kafka broker ID 为 1。

-e KAFKA_ZOOKEEPER_CONNECT=zookeeper:2181:指定 Kafka 连接的 Zookeeper 地址。

-e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://localhost:9092:设置 Kafka 广播的地址和端口。

--link zookeeper:zookeeper:将 Kafka 容器与 Zookeeper 容器链接。

检查容器状态

检查 Kafka 和 Zookeeper 容器是否运行正常

docker ps

连接到 Kafka

要连接 Kafka 进行操作(例如创建主题、发送或接收消息),首先进入 Kafka 容器

docker exec -it kafka bash

在 Kafka 容器内部,使用以下命令来创建主题并发送和接收消息:

# 创建主题
kafka-topics --create --topic test --bootstrap-server localhost:9092 --partitions 1 --replication-factor 1# 向主题发送消息
kafka-console-producer --topic test --bootstrap-server localhost:9092# 从主题读取消息
kafka-console-consumer --topic test --from-beginning --bootstrap-server localhost:9092

发送消息:

读取消息:

以上正常就表示kafka安装完成了

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/803558.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

面试官:项目中如何实现布隆过滤器?

谈起“布隆过滤器”相信大家都不陌生,它也算日常面试中的常见面试题了。例如,当面试官在问到 Redis 模块的相关问题时,可能会问到缓存穿透(Redis 四大经典问题之一),而缓存穿透的经典解决方案之一,则是“布隆过滤器”。 但是,对于布隆过滤器是什么?以及布隆过滤器的实…

LLM大模型: 生成式模型的数学原理和prompt融入image

1、(1)上文介绍了DDPM生成图片的原理和代码测试结果,训练时给样本图片加上gaussian noise,预测时也是预测gaussian noise;这里为啥要用gaussian distribution?为啥不用其他的分布?高斯分布相对比较简单,只有两个参数:均值和方差,容易控制;为啥一张随机生成的gaussio…

P3311 [SDOI2014] 数数

参考题解做法。 题目思路 数位 dp + AC 自动机好题。 直接往下递归,dfs(u, ver, limit, st) 表示目前在数字 \(n\) 的第 \(u\) 位进行讨论,\(ver\) 表示当前在 AC 自动机上的节点,\(limit\) 是是否步步紧逼 \(n\),只要位数不足 \(n\) 的位数或者有一位小于 \(n\) 的那一位就…

实验1

任务1 源代码1 #include <stdio.h> 2 int main() 3 { 4 printf("o \n"); 5 printf("<H>\n"); 6 printf("I I\n"); 7 8 return 0; 9 }

initrdinit进程

initrd的全名是 init ramdisk,是一个启动时存在于内存的文件系统。 kernal 到 initrd的流程在GRUB加载kernel时,kernel会先在内存中制造一个rootfs当做临时的空间供系统使用,接下来,kernel便会将initrd当做是一个系统,将其mount到rootfs上启动。 引入initrd的目的是为了把…

如何部署北斗定位应用,基于国产自主架构LS2K1000LA-i处理器平台

北斗卫星导航系统(以下简称北斗系统)是着眼于国内经济社会发展需要,自主建设、独立运行的卫星导航系统。经过多年发展,北斗系统已成为面向全球用户提供全天候、全天时、高精度定位、导航与授时服务的重要新型基础设施。图 1 北斗定位系统的应用优势 强可控:北斗系统是国内…

ChatGPT 向更多用户推出高级语音模式:支持 50 种语言;字节发布两款新视频生成大模型丨 RTE 开发者日报

开发者朋友们大家好:这里是 「RTE 开发者日报」 ,每天和大家一起看新闻、聊八卦。我们的社区编辑团队会整理分享 RTE(Real-Time Engagement) 领域内「有话题的新闻」、「有态度的观点」、「有意思的数据」、「有思考的文章」、「有看点的会议」,但内容仅代表编辑的个人观点…

题解:CF573D Bear and Cavalry

CF因为这是远古题目,所以根据现在的评测机速度,用 \(O(nq)\) 的做法也是可以过的。 也就是说,我们可以每次操作直接修改对应位置上的数字,然后设计一种 \(O(n)\) 的算法求解答案。 这道题类似资源分配型动态规划,所以我们可以设 \(dp_i\) 表示分配前 \(i\) 个人的答案。 直…

题解:AT_abc204_e [ABC204E] Rush Hour 2

LG变形的 dijkstra。 先思考什么情况下需要等待以及等待多长时间最优。我们把题目上的计算方法按照当前的时间 \(t\) 和通过所需的时间 \(f(t)\) 列个函数关系: \[f(t)=t+c+\lfloor \frac{d}{t+1}\rfloor \]然后用 Desmos 画个图可以得到图像(其实就是对勾函数):因为 \(c,d…

Rust字符串类型全解析

字符串是每种编程语言都绕不开的类型, 不过,在Rust中,你会看到远比其他语言更加丰富多样的字符串类型。 如下图:为什么Rust中需要这么多种表示字符串的类型呢? 初学Rust时,可能无法理解为什么要这样设计?为什么要给使用字符串带来这么多不必要的复杂性? 其实,Rust中对…

AI自动生成代码注释

在vscode 中安装 TONGYI Lingma