当前位置: 首页 > news >正文

kafka+ubuntu20.04+docker配置

记录一次配置过程

安装docker

参加下面链接的第一部分

Ubuntu20.04使用docker安装kafka服务-CSDN博客

安装zookeeper

docker run -d --name zookeeper -p 2181:2181 -v /etc/localtime:/etc/localtime wurstmeister/zookeeper

安装kafka服务

docker run  -d --name kafka -p 9092:9092 -e KAFKA_BROKER_ID=0 -e KAFKA_ZOOKEEPER_CONNECT=[你的IP地址]:2181 -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://[你的IP地址]:9092 -e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 -t wurstmeister/kafka

改成我自己的本机的就是:

docker run  -d --name kafka -p 9092:9092 -e KAFKA_BROKER_ID=0 -e KAFKA_ZOOKEEPER_CONNECT=192.168.147.131:2181 -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://192.168.147.131:9092 -e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 -t wurstmeister/kafka

进入docker

执行docker ps -a命令,查看结果如下:

 注意上述结果显示kafka和zookeeper都是已关闭状态,需要开启,使用下面的命令:docker start 容器id,即

docker start a01c
docker start c0c7

注意要先启动父容器(或者说是依赖项zookeeper),再启动子容器kafka,容器id输入前几位有区分即可,不必全部输入,也不必补全(tab不会给你补全)

执行docker ps -a命令,再次查看结果如下:

ok这就启动成功了

然后执行命令进入docker

docker exec -it [container-id] /bin/sh    #container-id就是上图中c0c7这一串数字,执行命令时只需要输入前几个数字/字母即可
cd /opt/kafka/bin    #跳转到kafka目录下的bin目录,这下面有一些可执行脚本

换成我的本机就是执行下面的命令:

docker exec -it c0c7 /bin/sh    #container-id就是上图中41b8e4db352f这一串数字,执行命令时只需要输入前几个数字/字母即可
cd /opt/kafka/bin    #跳转到kafka目录下的bin目录,这下面有一些可执行脚本

得到下面的结果:

生产者消费者模式初体验

启动生产者

注意下面的ip:192.168.147.131要和你本机ip一致,使用ifconfig命令查看

./kafka-console-producer.sh --broker-list 192.168.147.131:9092 --topic wxj

打开另一个终端,启动消费者

 注意ip要一致,topic要一致

docker exec -it c0c7 /bin/sh
cd /opt/kafka/bin
./kafka-console-consumer.sh --bootstrap-server 192.168.147.131:9092 --topic wxj

运行效果如下:

其他一点别的,就是常识啦,比如如何退出生产者消费者的环境,ctrl+c,ctrl+d都试试,如何退出容器,可以试试输入exit命令

ok 完事了,还是去探索腾讯云的kafka服务吧

常用命令行命令

首先进入kafka容器的环境中

docker exec -it c0c7 /bin/sh
cd /opt/kafka/bin

kafka-topics.sh

对主题topic进行增删改查的工具

常用选项如下:

--bootstrap-server:kafka服务器ip:port,需要查询指定的topic或者topic列表,必须指定这个量
--create:创建主题
--delete:删除主题
--describe:描述主题
--list:查看主题列表
--alter:修改主题的 partitions等
--topic <String: topic>:主题名
--topic-id <String: topic-id>:主题id
--partitions <Integer: # of partitions>:主题的partition


新增

命令

kafka-topics.sh --bootstrap-server=127.0.0.1:9092 --create --topic wxj2

效果

查看topic列表

命令

kafka-topics.sh --bootstrap-server=127.0.0.1:9092 --list

效果

查看topic详情(描述)

命令

kafka-topics.sh --bootstrap-server=127.0.0.1:9092 --describe --topic wxj2

效果

修改

命令
以修改主题partiion数量为例

kafka-topics.sh --bootstrap-server=127.0.0.1:9092 --alter --topic wxj2 --partitions 3

再次查看topic的描述发现分区完成 

删除

命令

kafka-topics.sh --bootstrap-server=127.0.0.1:9092 --delete --topic wxj2

kafka-console-producer.sh

标准输入读数据,发送到Kafka的工具

常用选项如下:

--bootstrap-server:kafka服务器ip:port,必须的
--topic <String: topic> :Kafka主题,必须的
--sync:同步发送
--compression-codec [String: compression-codec] :压缩方式,‘none’,‘gzip’, ‘snappy’, ‘lz4’, , ‘zstd’,默认gzip.
 

使用示例

kafka-topics.sh --bootstrap-server=127.0.0.1:9092 --create --topic demo
kafka-console-producer.sh  --bootstrap-server=127.0.0.1:9092 --topic demo

kafka-console-consumer.sh

常用选项如下:

--bootstrap-server:kafka服务器ip:port,必须的
--topic <String: topic> :Kafka主题,必须的
--group <String: consumer group id>:消费者组id
--key-deserializer <String: deserializer for key>:key反序列化,默认是org.apache.kafka.common.serialization.StringDeserializer
--value-deserializer <String: deserializer for values>:value反序列化,默认是org.apache.kafka.common.serialization.StringDeserializer
--offset <String: consume offset>:消费的offset
--partition <Integer: partition>:消费的分区
 

使用示例

kafka-console-consumer.sh  --bootstrap-server=127.0.0.1:9092 --topic demo
kafka-console-consumer.sh  --bootstrap-server=127.0.0.1:9092 --topic demo --partition 0 --offset 2

上述命令的使用方法是进入到了docker容器kafka中了,要是不想进入环境直接运行命令的示例是

docker exec -it c0c7 /opt/kafka/bin/kafka-topics.sh  --bootstrap-server=127.0.0.1:9092 --create --topic demo

效果:

相关文章:

kafka+ubuntu20.04+docker配置

记录一次配置过程 安装docker 参加下面链接的第一部分 Ubuntu20.04使用docker安装kafka服务-CSDN博客 安装zookeeper docker run -d --name zookeeper -p 2181:2181 -v /etc/localtime:/etc/localtime wurstmeister/zookeeper安装kafka服务 docker run -d --name kafka …...

遍历一个对象,并得出所对应的值

var dates {//定义的对象year:now.getFullYear(),month:now.getMonth()1,date:now.getDate(),hour:now.getHours(),minute:now.getMinutes(),second:now.getSeconds() }//开始遍历循环 var val; for (val in dates){console.log(对象名称&#xff1a;val-对象的值&#xff1a;…...

WGCLOUD的特点整理

做运维工作很多年了&#xff0c;项目中用过不少的运维软件工具&#xff0c;今天整理下WGCLOUD的特点&#xff08;优点&#xff09; 首先WGCLOUD是完全免费的 部署使用&#xff1a;部署简单方便&#xff0c;上手容易&#xff0c;几乎没有学习成本&#xff0c;对新手友好 文档…...

新版软考高项试题分析精选(三)

请点击↑关注、收藏&#xff0c;本博客免费为你获取精彩知识分享&#xff01;有惊喜哟&#xff01;&#xff01; 1、项目整体管理要综合考虑项目各个相关过程&#xff0c;围绕整体管理特点&#xff0c;以下说法中&#xff0c;&#xff08; &#xff09;是不正确的。 A.项目的…...

从申请服务器到Docker部署Java项目至最后运行完结

目录 1.申请服务器篇 2.配置安全组篇 3.Docker安装篇 4.代码编写打包篇 目录结构 Maven Controller DockerFile 开始打包 5.所需文件上传及镜像构建篇 上传准备 上传jar包及DockerFile文件 指令构建 验证 6.镜像启动服务验证篇 启动镜像 使用云服务器地址进行…...

解决 requests.post 数据字段编码问题的方法

问题背景 在进行网络请求时&#xff0c;我们通常会使用requests库的post方法来发送POST请求。然而&#xff0c;当我们尝试发送包含特殊字符&#xff08;如中文字符&#xff09;的数据时&#xff0c;可能会遇到数据字段被编码的问题。这可能会导致请求失败或者服务器无法正确解…...

安全运维:cmd命令大全(108个)

1、calc&#xff1a;启动计算器 2、appwiz.cpl&#xff1a;程序和功能 3、certmgr.msc&#xff1a;证书管理实用程序 4、charmap&#xff1a;启动字符映射表 5、chkdsk.exe&#xff1a;Chkdsk磁盘检查(管理员身份运行命令提示符) 6、cleanmgr: 打开磁盘清理工具 7、clico…...

构建Docker基础镜像(ubuntu20.04+python3.9.10+pytorch-gpu-cuda11.8)

文章目录 一、前置条件1.创建 ubuntu 镜像源文件【sources.list】2.下载 python 安装包【Python-3.9.10.tgz】 二、构建方法1.构建目录2.创建DockerFile3.打包镜像 一、前置条件 配置一下 ubuntu 的镜像源下载 python 安装包 1.创建 ubuntu 镜像源文件【sources.list】 内容…...

Flowable自定义Id生成器

内置ID生成器 Flowable内置DbIdGenerator(数据库自增ID)、StrongUuidGenerator(UUID)&#xff0c;Flowable默认使用的StrongUuidGenerator看起来太长不好观察数据&#xff0c;可以修改成DbIdGenerator。 Configuration public class FlowableConfig implements EngineConfigu…...

怎样正确选择等保测评机构开展等保测评工作?

随着大家对网络安全的重视&#xff0c;越来越多的企业需要做等保测评了。很多小伙伴想知道怎样正确选择等保测评机构开展等保测评工作&#xff1f;这里就给大家简单说说。 怎样正确选择等保测评机构开展等保测评工作&#xff1f; 【回答】&#xff1a;正确选择等保测评机构开展…...

【论文阅读笔记】Detecting AI Trojans Using Meta Neural Analysis

个人阅读笔记&#xff0c;如有错误欢迎指出&#xff01; 会议&#xff1a;2021 S&P Detecting AI Trojans Using Meta Neural Analysis | IEEE Conference Publication | IEEE Xplore 问题&#xff1a; 当前防御方法存在一些难以实现的假设&#xff0c;或者要求直…...

【PyTorch教程】如何使用PyTorch分布式并行模块DistributedDataParallel(DDP)进行多卡训练

本期目录 1. 导入核心库2. 初始化分布式进程组3. 包装模型4. 分发输入数据5. 保存模型参数6. 运行分布式训练7. DDP完整训练代码 本章的重点是学习如何使用 PyTorch 中的 Distributed Data Parallel (DDP) 库进行高效的分布式并行训练。以提高模型的训练速度。 1. 导入核心库 D…...

Istio学习笔记-体验istio

参考Istio 入门(三)&#xff1a;体验 Istio、微服务部署、可观测性 - 痴者工良 - 博客园 (cnblogs.com) 在本章中&#xff0c;我们将会学习到如何部署一套微服务、如何使用 Istio 暴露服务到集群外&#xff0c;并且如何使用可观测性组件监测流量和系统指标。 本章教程示例使用…...

fastjson 系列漏洞

目录 1、 fastjson 1.2.22-1.2.24 版本 1.1 TemplatesImpl (Feature.SupportNonPublicField) 1.2 JNDI && JdbcRowSetImpl 利⽤链 2、fastjson 1.2.41 3、fastjson 1.2.42/1.2.43 4、fastjson 1.2.44-1.2.45 5、fastjson 1.2.46-1.2.47版本反序列化漏洞 jackson…...

odoo前端js对象的扩展方法

odoo前端js对象的扩展方法 在 Odoo 中&#xff0c;你可以使用两种方法来扩展 JavaScript 对象&#xff1a;extends 和 patch。这两种方法在功能上有一些区别。 extends 方法&#xff1a; 使用 extends 方法可以创建一个新的 JavaScript 对象&#xff0c;并继承自现有的对象。这…...

力扣双周赛 -- 117(容斥原理专场)

class Solution { public:long long c2(long long n){return n > 1? n * (n - 1) / 2 : 0;}long long distributeCandies(int n, int limit) {return c2(n 2) - 3 * c2(n - limit 1) 3 * c2(n - 2 * limit) - c2(n - 3 * limit - 1);} };...

基于Rabbitmq和Redis的延迟消息实现

1 基于Rabbitmq延迟消息实现 支付时间设置为30&#xff0c;未支付的消息会积压在mq中&#xff0c;给mq带来巨大压力。我们可以利用Rabbitmq的延迟队列插件实现消息前一分钟尽快处理 1.1定义延迟消息实体 由于我们要多次发送延迟消息&#xff0c;因此需要先定义一个记录消息…...

Masked Relation Learning for DeepFake Detection

一、研究背景 1.现有deepfake检测方法大多关注于局部伪影或面部不协调&#xff0c;较少挖掘局部区域间的关系。 2.现有关系挖掘类的工作往往忽略了关系信息的传播。 3.遮挡建模在减轻信息冗余的同时促进高级语义信息&#xff08;诱导性偏差较小&#xff09;的挖掘&#xff0c;有…...

R语言爬虫程序自动爬取图片并下载

R语言本身并不适合用来爬取数据&#xff0c;它更适合进行统计分析和数据可视化。而Python的requests&#xff0c;BeautifulSoup&#xff0c;Scrapy等库则更适合用来爬取网页数据。如果你想要在R中获取网页内容&#xff0c;你可以使用rvest包。 以下是一个简单的使用rvest包爬取…...

2023年10月国产数据库大事记-墨天轮

本文为墨天轮社区整理的2023年10月国产数据库大事件和重要产品发布消息。 目录 10月国产数据库大事记 TOP1010月国产数据库大事记&#xff08;时间线&#xff09;产品/版本发布兼容认证代表厂商大事记厂商活动排行榜新增数据库相关资料 10月国产数据库大事记 TOP10 10月国产…...

Linux内核分析(十四)--内存管理之malloc、free 实现原理

目录 一、引言 二、malloc实现方式 ------>2.1、动态内存分配的系统调用:brk / sbrk ------>2.2、malloc实现思路 ------------>2.2.1、最佳适应法 ------------>2.2.2、最差适应法 ------------>2.2.3、首次适应法 ------------>2.2.4、下一个适应…...

Hive函数

1. Hive 内置运算符 整体上&#xff0c;Hive 支持的运算符可以分为三大类&#xff1a;关系运算、算术运算、逻辑运算。 官方参考文档&#xff1a;LanguageManual UDF - Apache Hive - Apache Software Foundation 也可以使用下述方式查看运算符的使用方式&#xff1a; -- 显…...

教资笔记(目录)

目录 中小学教资笔记总结中学教资小学教资小学中学科一《综合素质》&#xff08;通用&#xff09;&#xff1a;考情分析&#xff1a;学习笔记 小学科二《教育知识与能力》&#xff1a;考情分析&#xff1a;学习笔记&#xff1a; 中小学教资笔记总结 2023.9.16教资考试 笔试成绩…...

np.repeat()的注意事项

对于一个shape为&#xff08;3, 2&#xff09;的矩阵a&#xff0c; b a.repeat(9, axis1)。 那b[:, :9]是相同的&#xff0c;b[:, 9:]是相同的&#xff0c;意见 a np.random.rand(3, 2) b a.repeat(9, axis1) np.all(b[:, 0] b[:, 1]), np.all(b[:, 0] b[:, 9]) Out: (Tr…...

239. 滑动窗口最大值

239. 滑动窗口最大值 原题链接&#xff1a;完成情况&#xff1a;解题思路&#xff1a;参考代码&#xff1a;错误经验吸取 原题链接&#xff1a; 239. 滑动窗口最大值 https://leetcode.cn/problems/sliding-window-maximum/description/ 完成情况&#xff1a; 解题思路&…...

c++ barrier 使用详解

c barrier 使用详解 std::barrier c20 头文件 #include <barrier>。作用&#xff1a;一般被用来协调多个线程&#xff0c;在所有线程都到达屏障点之后&#xff0c;才允许它们继续执行&#xff0c;对于需要线程间同步的并行算法和任务来说非常有用。使用步骤&#xff1a…...

c# 接口

c#接口 namespace demo1 {/// <summary>/// 接口使用interface关键字进行定义/// 接口中只能声明方法不能定义&#xff0c;也就是说声明的方法不能有方法体。/// 接口不能包含常量、字段、运算符、实例构造函数、析构函数或类型&#xff0c;不能包含静态成员。由于不能有…...

1、NPC 三电平SVPWM simulink仿真

1、SVPWM时间计算函数&#xff0c;是从matlab的SVPWM3L_TimingCalculation.p文件中反汇编出来的函数&#xff1a; function [TgABC_On ,TgABC_Off ,Sn ]SVPWM3L_TimingCalculation_frompfile (Vref ,DeltaVdc ,Fsw ) %#codegen %coder .allowpcode (plain ); TgABC_On [0 ,0 ,…...

JAVA对象列表强转失败,更好的方法

JAVA将无法强转的list泛型对象使用JSON工具类转换为list类 List<DiskUseRateVo> list JSON.parseArray(JSON.toJSONString(httpGet(url).getContent()), DiskUseRateVo.class);之前一直强转发现后续list.get(0)报错&#xff0c;用JSON解决了问题。...

2023最新版本 从零基础入门C++与QT(学习笔记) -5- 动态内存分配(new)

&#x1f38f;C的动态内存要比C方便 &#x1f384;注意C申请内存的时候可以直接的初始化&#xff01;&#xff01;&#xff01; &#x1f384;格式&#xff08;申请一块内存&#xff09; &#x1f388;new(关键字) 变量类型 &#x1f384;格式&#xff08;申请多块内存&am…...