记录一次云服务器使用docker搭建kafka的过程

news/2024/6/3 17:16:36 标签: docker, kafka, 容器, zoo, zookeeper, java, spring boot

创建网络

一定要将zookeeper注册中心与kafka建在一个network中,不然在springboot 集成 kakfa的demo测试代码中进行消息发送时会超时,报错: E x c e p t i o n t h r o w n w h e n s e n d i n g a m e s s a g e w i t h k e y = ‘ n u l l ‘ Exception thrown when sending a message with key=‘null‘ Exceptionthrownwhensendingamessagewithkey=null

docker network create zk-ka-net

dockerzookeeper_5">docker启动zookeeper注册中心

docker pull wurstmeister/zookeeper
docker run -d --name zookeeper --network zk-ka-net -p 2181:2181 -t wurstmeister/zookeeper

dockerkafka_14">docker启动kafka服务

docker pull wurstmeister/kafka
docker run -d --name kafka -p 9092:9092 --network zk-ka-net --link zookeeper:zookeeper -e KAFKA_BROKER_ID=0 -e KAFKA_ZOOKEEPER_CONNECT=zookeeper:2181 -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://外网ip:9092 -e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 wurstmeister/kafka

基本使用

  1. 进入容器
docker exec -it ${CONTAINER ID} /bin/bash
  1. 进入kafka的bin目录下
echo $PATH
cd /opt/kafka/bin
  1. 创建topic
kafka-topics.sh --create --zookeeper zookeeper:2181 --replication-factor 1 --partitions 1 --topic my_topic
  1. 运行生产者
kafka-console-producer.sh --broker-list 外网ip:9092 --topic my_topic

6.消费topic

kafka-console-consumer.sh --bootstrap-server 外网ip:9092 --from-beginning --topic my_topic

springboot 集成 kakfa代码:https://github.com/ZYNORl/project-demo/tree/main

docker_51">附带一个本地启动的docker命令
docker run -d --name kafka -p 9092:9092 --link zookeeper:zookeeper -e KAFKA_BROKER_ID=0 -e KAFKA_ZOOKEEPER_CONNECT=zookeeper:2181 -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://127.0.0.1:9092 -e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 wurstmeister/kafka

http://www.niftyadmin.cn/n/5293217.html

相关文章

vue实现滑动切换:切换选项时滑块有滑动过渡的效果

效果图 思路: 1. 高亮的色块是独立的一个盒子,需要插入当前激活的内容用来撑开色块盒子的宽度,这样色块的宽度就会和当前激活的内容宽度一致,色块的字体颜色设置透明即可 2. 色块滑动的距离是读当前激活元素的offsetLeft&#x…

路由的安装顺序

安装-->导入-->注册-->创建-->挂载 安装:npm install vue-router3 强制安装npm install vue-router3 --force 导入: import Vue from vue //导入路由 import VueRouter from vue-router //注册 Vue.use(VueRouter) //创建路由实例 const…

鸿蒙系列--组件介绍之容器组件

一、Badge 描述:给其他组件添加标记 子组件:支持单个子组件 1.创建数字标记 Badge(value: {count: number, position?: BadgePosition, maxCount?: number, style: BadgeStyle}) 2.创建字符串标记 Badge(value: {value: string, position?: Badge…

写在2023的最后一个工作日

快 是的,又到年底了,这是没有任何娱乐的一年,有的只是四处奔波。 今年初回到北京,领导就开始渲染紧张的气氛。最终还是坚持不下去了,给了n1的赔偿,整个部门也就散了。我也达成新成就,连续干黄…

Vue2从源码角度来回答一些常见的问题

1.请说一下Vue2响应式数据的理解(先知道基本的问题在哪里,源码的角度来回答,用的时候会有哪些问题) 可以监控一个数据的修改和获取操作。针对对象格式会给每个对象的属性进行劫持 Object.defineProperty 源码层面 initData ->…

算法学习系列(十六):二维数组填充数字问题

目录 引言一、思路二、代码模板三、例题总结1.回字蛇形矩阵2.三角填充3.回文填充二 引言 关于这个二维数组填数问题我碰到过很多次,不管是找工作笔试面试,还是在算法竞赛,而且这种问题都有很多种变形,当初学算法的时候让我很是头…

《人人都能用英语》学习笔记

https://github.com/xiaolai/everyone-can-use-english 核心: 用 What──它究竟是什么?Why──为什么它是那个样子?How──要掌握它、应用它,必须得遵循什么样的步骤? 在运行程序之前,要反复浏览代码&a…

VMvare虚拟机之文件夹共享与防火墙设置

共享文件夹 什么是共享文件夹 共享文件夹是一种在网络上共享文件和文件夹的方法。它允许多个用户通过网络连接到共享文件夹,并可以访问其中的文件和文件夹,进行文件的读取、修改、删除等操作。共享文件夹可以用于方便地共享文件和协作工作,…