Docker 安装kafka 并创建topic 进行消息通信

        Apache Kafka是一个分布式流处理平台,用于构建高性能、可扩展的实时数据流应用程序。本文将介绍如何使用Docker容器化技术来安装和配置Apache Kafka。

一、使用镜像安装

1、kafka安装必须先安装Zookpper

2、下载镜像

docker pull wurstmeister/kafka

3、查看下载好的镜像

docker images

4、启动Kafka

docker run -d --name kafka --publish 9092:9092 \ --link zookeeper \ --env KAFKA_ZOOKEEPER_CONNECT=zookeeper:2181 \ --env KAFKA_ADVERTISED_HOST_NAME=127.0.0.1 \ --env KAFKA_ADVERTISED_PORT=9092 \ wurstmeister/kafka

5、查看是否创建好Kafka容器

docker ps

6、进入到Kafka容器内

sudo docker exec -it kafka /bin/bash

7、创建topic

cd opt/kafka_2.13-2.6.0/bin

创建topic

./kafka-topics.sh --create --zookeeper zookeeper:2181 --replication-factor 1 --partitions 8 --topic test Created topic test.

8、创建成功之后发送消息

./kafka-console-producer.sh --broker-list localhost:9092 --topic test

9、重新打开一个终端,创建消费者

sudo docker exec -it kafka /bin/bash cd opt/kafka_2.13-2.6.0/bin/ ./kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning #若不想从头消费就使用 ./kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test

这样就能接受到生产着生产的数据了

10、查看、删除Kafka中的所有的topic

#查看 ./kafka-topics.sh --list --bootstrap-server ZK地址:端口
./kafka-topics.sh --list --bootstrap-server localhost:9092

#删除 ./kafka-topics.sh --delete --bootstrap-server ZK地址:端口 --topic topic名
./kafka-topics.sh --delete --bootstrap-server localhost:9092 --topic local_point

二、使用Docker Compose安装

1. 安装Docker和Docker Compose

        首先,确保你的系统已经安装了Docker和Docker Compose。你可以根据操作系统的不同,按照官方文档的指引进行安装。

2. 创建Docker Compose文件

        在你的项目目录下创建一个名为`docker-compose.yml`的文件,并添加以下内容:

services:
 zookeeper:
 image: confluentinc/cp-zookeeper:6.2.0 ports:
 - "2181:2181"
 environment:
 - ZOOKEEPER_CLIENT_PORT=2181 - ZOOKEEPER_TICK_TIME=2000 kafka:
 image: confluentinc/cp-kafka:6.2.0 ports:
 - "9092:9092"
 environment:
 - KAFKA_ZOOKEEPER_CONNECT=zookeeper:2181 - KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://kafka:9092 - KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR=1 depends_on:
 - zookeeper```

 
3. 启动Kafka集群

        打开终端,进入到包含`docker-compose.yml`文件的目录,并执行以下命令启动Kafka集群,如下命令Docker将会下载所需的镜像,并启动一个包含Zookeeper和Kafka的容器集群。

bashdocker-compose up -d

4. 验证Kafka集群是否正常运行

         执行以下命令,查看Kafka集群的运行状态:如果所有容器都处于运行状态,则表示Kafka集群已成功启动。

bashdocker-compose ps

 5. 使用Kafka

        现在可以使用Kafka进行消息的发布和订阅。可以使用Kafka的命令行工具或者编程语言的Kafka客户端库来与Kafka集群进行交互。

6. 停止和清理

        如果想停止Kafka集群并清理相关的容器和资源,可以执行以下命令,Docker将会停止并删除相关的容器和网络。

bashdocker-compose down

结论:
通过使用Docker容器化技术,我们可以方便地安装和配置Apache Kafka,快速搭建一个可用的Kafka集群。这为我们开发和测试实时数据流应用程序提供了便利,同时也提供了良好的可扩展性和灵活性。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

万户协同办公平台ezoffice SendFileCheckTemplateEdit.jsp接口存在SQL注入漏洞 附POC

@[toc] 万户协同办公平台ezoffice SendFileCheckTemplateEdit.jsp接口存在SQL注入漏洞 附POC 免责声明:请勿利用文章内的相关技术从事非法测试,由于传播、利用此文所提供的信息或者工具而造成的任何直接或者间接的后果及损失,均由使用者本人负责,所产生的一切不良后果与文…

Leetcode—1670.设计前中后队列【中等】

2023每日刷题(四十三) Leetcode—1670.设计前中后队列 实现代码 erase(iterator position)在删除vector中的元素后,会将该元素的后面所有元素都往前挪一位。因此,原先的迭代器指向的元素就不是原来那个了,而是它的后…

Phpstudy v8.0/8.1添加 php-7.4.9

1、官网下载最新的php版本 打开Windows版的官网下载,地址:PHP For Windows: Binaries and sources Releases 页面上有不同的PHP版本,这里我们下载的是64位nts版的PHP7.4.9,php-7.4.9-nts-Win32-vc15-x64.zip。 2、解压下载的文…

推荐一款好用的BMP转PNG工具BMP2PNG

推荐一款好用的BMP转PNG工具BMP2PNG 自己写的一个BMP转PNG工具BMP2PNG 写这个工具是因为要使用传奇的部分素材在COCOS2DX使用, 但是COCOS2DX不支持BMP 如果直接将BMP转换到PNG的话,网上找到的工具都不支持透明色转换。难道要用PS一个一个抠图吗&#xf…

网络聊天室项目

服务器端 #include <myhd.h>//传输结构体 struct cli {char type; // L/C/Qchar name[20];char text[128]; }; int main(int argc, const char *argv[]) {if(argc!3){printf("请输入ip地址和端口号\n");return -1;}//1、创建用于通信的套接字文件描述符in…

Kubernetes Dashboard 涉及的一些常规技巧

Kubernetes Dashboard 提供了一个GUI形式的K8S集群管理工具&#xff0c;通过它我们能很容易的观察到集群资源消耗情况、服务器运行状态以及针对Pod的相关观察与操作&#xff1b; Dashboard 的相关配置 Dashboard 提供了通过配置启动命令行参数来控制其相关行为的能力&#xf…

Docker—共享应用程序

现在您已经构建了一个映像&#xff0c;可以共享它。要共享Docker映像&#xff0c;您必须使用Docker注册表。默认注册表是Docker Hub&#xff0c;是您使用的所有图像的来源。 Docker ID&#xff08;Docker标识&#xff09; Docker ID允许您访问Docker Hub&#xff0c;这是世界上…

Hive安装与配置

你需要掌握&#xff1a; 1.Hive的基本安装&#xff1b; 2.Mysql的安装与设置&#xff1b; 3.Hive 的配置。 注意&#xff1a;Hive的安装与配置建立在Hadoop已安装配置好的情况下。 hadopp安装与配置 Hive 的基本安装 从 官网 下载Hive二进制包&#xff0c;下载好放在/op…

Linux系统---环境变量+内核进程调度队列(选学)

顾得泉&#xff1a;个人主页 个人专栏&#xff1a;《Linux操作系统》 《C/C》 键盘敲烂&#xff0c;年薪百万&#xff01; 一、环境变量 1.基本概念 环境变量(environment variables)一般是指在操作系统中用来指定操作系统运行环境的一些参数&#xff0c;如: 我们在编写CI/…

卓越进行时 | 西安交通大学校友莅临赛宁网安参观考察

近日&#xff0c;为了深入贯彻网络安全强国战略建设&#xff0c;积极发挥网络安全企业的先进作用&#xff0c;推动校企合作与协作共赢。西安交通大学领导携校友会来到赛宁网安网络安全卓越中心进行参观考察&#xff0c;为进一步的校企合作和产业孵化奠定基础。 活动期间&#…

Maven——Maven使用基础

1、安装目录分析 1.1、环境变量MAVEN_HOME 环境变量指向Maven的安装目录&#xff0c;如下图所示&#xff1a; 下面看一下该目录的结构和内容&#xff1a; bin&#xff1a;该目录包含了mvn运行的脚本&#xff0c;这些脚本用来配置Java命令&#xff0c;准备好classpath和相关…

C语言数据结构之顺序表(上)

前言&#xff1a; ⭐️此篇博文主要分享博主在学习C语言的数据结构之顺序表的知识点时写的笔记&#xff0c;若有错误&#xff0c;还请佬指出&#xff0c;一定感谢&#xff01;制作不易&#xff0c;若觉得内容不错可以点赞&#x1f44d;收藏❤️&#xff0c;这是对博主最大的认可…

C++基础 -10- 类

类的格式 public:公共成员 类外可访问 protected:保护成员 类外不可访问 private:私有成员 类外不可访问 class base {public:int a;protected:int b;private:int c;};

学生护眼灯怎么选?2023备考护眼台灯推荐

近期&#xff0c;许多“护眼台灯是否是智商税”的帖子频繁出现&#xff0c;引起了许多群众的关注&#xff0c;作为一名护眼台灯资深使用者&#xff0c;在这里声明一下&#xff0c;护眼台灯绝对不是智商税。护眼台灯是通过调节光线亮度和色温&#xff0c;降低蓝光辐射&#xff0…

ubuntu22.04新机使用(换源,下载软件,安装显卡驱动,锁屏长亮)

换源 国内有很多Ubuntu的镜像源&#xff0c;包括阿里的、网易的&#xff0c;还有很多教育网的源&#xff0c;比如&#xff1a;清华源、中科大源。推荐使用中科大源&#xff0c;快得很。 /etc/apt/sources.list编辑/etc/apt/sources.list文件, 在文件最前面添加以下条目(操作前…

《微信小程序开发从入门到实战》学习三十六

4.2 云开发JSON数据库 4.2.6 云开发JSON数据库 在集合对象上调用add方法可以在集和中可以插入一条记录&#xff0c;代码如下&#xff1a; db.collection(testOne).add({ // 在JSON数据库的testOne集合中增加一个记录 data:{ name: "write paper" }, // 插入数据成功…

js实现鼠标拖拽

目录 css代码 html代码 js代码 完整代码 效果图&#xff1a; 需求&#xff1a; 鼠标在图片内按下时 图片可以跟随盒子动 鼠标弹起图片停下来 如果图片在box的盒子里面时鼠标弹起了 就把图片展示在box里面 并且让图片回到起始位置 css代码 .div {width: 100px;height: 10…

SpringBoot+VUE3前后端分离-【支付宝支付】

1、支付宝沙箱应用申请 https://open.alipay.com/develop/sandbox/app 打开支付宝沙箱能够看到如下信息&#xff1a; 获取到appid&#xff1b; 2、获取应用私钥以及支付宝公钥 在接口加密方式选择公钥模式启用&#xff0c;根据操作即可获取应用公钥、应用私钥以及支付宝公钥…

Rust UI开发(四):iced中如何添加菜单栏(串口调试助手)

注&#xff1a;此文适合于对rust有一些了解的朋友 iced是一个跨平台的GUI库&#xff0c;用于为rust语言程序构建UI界面。 这是一个系列博文&#xff0c;本文是第四篇&#xff0c;前三篇链接&#xff1a; 1、Rust UI开发&#xff08;一&#xff09;&#xff1a;使用iced构建UI时…

PyTorch入门教学——加载数据(Dataset)

1、简介 PyTorch中如何读取数据主要涉及到两个类&#xff0c;分别为Dataset和Dataloader。 Dataset&#xff1a;创建可被Pytorch使用的数据集Dataloader&#xff1a;向模型传递数据本文主要讲解Dataset的使用方法。 2、Dataset 2.1、查看使用方法 打开Anaconda Prompt&…