首页 > 其他分享 >1月28日总结

1月28日总结

时间:2024-01-29 21:14:14浏览次数:28  
标签:总结 9094 CFG 28 KAFKA PLAINTEXT docker kafka

在很多时候我们需要使用到消息队列, 其中 kafka 是一个非常优秀的消息队列, 在我们平时开发中也经常会用到, 但是在开发环境中部署 kafka 是一个非常麻烦的事情

在 kafka 官网上, 有一个详细的部署文档, 需要的小伙伴可以参考这个文档 https://kafka.apache.org/quickstart, 但是随之带来的问题是, 我们需要 java 环境, 并且需要安装 zookerper,

那么如果我仅仅是想本地开发环境中使用 kafka, 有没有更简单的方法呢? 为了解决这个问题, 我们可以使用 docker 来部署 kafka

使用 docker 来部署 kafka 的测试节点, 我们需要先安装 docker 和 docker-compose, 这里就不再赘述了, 请自行安装

首先我们在已经安装好 docker 和 docker-compose 的机器上, 创建一个目录, 并且在这个目录下创建一个 docker-compose.yml 文件, 文件内容如下

version: "2"

services:
kafka:
image: docker.io/bitnami/kafka:3.6
ports:
- '9094:9094'
volumes:
- "kafka_data:/bitnami"
environment:
# KRaft settings
- KAFKA_CFG_NODE_ID=0
- KAFKA_CFG_PROCESS_ROLES=controller,broker
- KAFKA_CFG_CONTROLLER_QUORUM_VOTERS=0@kafka:9093
# Listeners
- KAFKA_CFG_LISTENERS=PLAINTEXT://:9092,CONTROLLER://:9093,EXTERNAL://:9094
- KAFKA_CFG_ADVERTISED_LISTENERS=PLAINTEXT://kafka:9092,EXTERNAL://localhost:9094
- KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP=CONTROLLER:PLAINTEXT,EXTERNAL:PLAINTEXT,PLAINTEXT:PLAINTEXT
- KAFKA_CFG_CONTROLLER_LISTENER_NAMES=CONTROLLER
- KAFKA_CFG_INTER_BROKER_LISTENER_NAME=PLAINTEXT
volumes:
kafka_data:
driver: local

然后我们就可以在这个目录下执行 docker-compose up -d 来启动 kafka 了, 启动完成后, 我们可以使用 docker ps 命令来查看 kafka 是否启动成功

➜ ~ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
f346c045196d bitnami/kafka:3.6 "/opt/bitnami/script…" 2 days ago Up 2 days 0.0.0.0:9092-9094->9092-9094/tcp, :::9092-9094->9092-9094/tcp

此时需要注意打开防火墙限制, 例如我的防火墙使用的是 ufw , 我们需要执行以下命令

ufw allow 9094

然后我们就可以使用 kafka 了, 例如我现在使用 python 来连接 kafka, 首先我们需要安装 kafka-python

import time

from kafka import KafkaConsumer

consumer = KafkaConsumer('test',
group_id='test',
bootstrap_servers=['x.x.x.x:9094'])
for message in consumer:
print(time.time(), "%s:%d:%d: key=%s value=%s" % (message.topic, message.partition,
message.offset, message.key,
message.value))

from kafka import KafkaProducer

producer = KafkaProducer(bootstrap_servers=['x.x.x.x:9094'])

Asynchronous by default

future = producer.send('test', b'raw_bytes')
producer.flush()

标签:总结,9094,CFG,28,KAFKA,PLAINTEXT,docker,kafka
From: https://www.cnblogs.com/lmyy/p/17995327

相关文章

  • 李宏毅《机器学习》总结 - RNN & LSTM
    在slot-filling问题(如给一个句子,自己分析出时间、地点等)如果只连着不同的FC,那么会导致无法读出是arrive还是leave的情况,导致错误因此,需要NN来考虑到整个句子的信息,也就是需要有memory,这就是RNNRNN原理有了memory,就可以初步解决同一个信息由于句子不同导致的意......
  • 1.29寒假每日总结20
    将你的Python代码打包成一个exe文件,方便其他人在没有安装Python环境的情况下运行,可以使用PyInstaller或cx_Freeze等工具将其打包成可执行文件。以下是使用PyInstaller的步骤:首先,确保你已经安装了PyInstaller。你可以使用以下命令在终端或命令提示符中进行安装:CopyCodepipi......
  • 2024.1.29寒假每日总结20
    算法题:514.自由之路-力扣(LeetCode)将你的Python代码打包成一个exe文件,方便其他人在没有安装Python环境的情况下运行,可以使用PyInstaller或cx_Freeze等工具将其打包成可执行文件。以下是使用PyInstaller的步骤:首先,确保你已经安装了PyInstaller。你可以使用以下命令在终端或命......
  • 洛谷题解-[ABC286E] Souvenir
    https://www.luogu.com.cn/problem/AT_abc286_e题目描述NNN個の都市があり、いくつかの相異なる都市の間は一方通行の直行便によって移動することができます。どの直行便が存在するかはNNN個の長さNNNの文字列S1,S2,…,SNS_1,S_2,\ldots,S_NS1​,S2​,…,SN​......
  • linux 学习总结
      ├──usr(UnixSystemResources)等同于C:/Windows├──src系统级的源码目录├──bin用于存放用户可执行的二进制文件├──lib存放共享库文件和一些系统级别的函数库等同于C:/Windows/System32├──local用于......
  • 第一次 10天校内集训总结
    这十天,作为第一次在校集训,无疑即是高效的,也是收获满满的;首先,我十分感谢Lyn学长十天以来的辛勤付出然鹅在这十天以来也发现了不少问题;1.与题解的抗争可能是由于学长的速度有些快,而且本人在秋季培训中也没有太过认真的打下一个所谓牢靠的基石(根本原因);因而除了在开始复习语言基......
  • 2024 01月随笔、总结
    202401月随笔、总结24年1月份,已经无心工作了。脑里只有一件事情,就是回家过年。准备请假、计划日期、开始抢票,一系列的步骤下来,终于只剩一周就能回家了(虽然回家后还要抢回程票)本月主要也就几件事情评测监控平台静态数据对接、优化;降挡数据导出技能分析趋势图label全部展示......
  • 上周热点回顾(1.22-1.28)
    热点随笔:· 全球IPv4耗尽,下个月开始收费! (咸鱼Linux运维)· 通义灵码,降临博客园 (博客园团队)· .NET开源的简单、快速、强大的前后端分离后台权限管理系统 (追逐时光者)· C#开源免费的开发效率提升利器:DevToys开发人员的瑞士军刀! (追逐时光者)· 你和时间管理大师,就......
  • 2024.1集训总结
    难吗?不难,就是需要熟练。————某物理老师首先无可争议的是,这十天的效率,非常高,学习的内容比上学阶段之和还要多的多,将关键的算法、数据结构等系统地走了一遍,从是什么,到严谨地证出来为什么,再上手练习怎么用,受益匪浅。现在可以做到给一道题,能大概感......
  • Python 基于pymongo操作Mongodb学习总结
    实践环境Python3.6.4pymongo4.1.1pymongo-3.12.3-cp36-cp36m-win_amd64.whl下载地址:https://pypi.org/simple/pymongo/代码实践#!/usr/bin/envpython#-*-coding:utf-8-*-importdatetimeimportrandomimportpymongofrompymongoimportMongoClientfrombson.......