kafka基础命令及基础知识

Kafka从入门到精通 一. MQ基础知识 1. 常见的MQ Kafka, ActiveMQ, RabbitMQ, RocketMQ 在大数据场景下,主要使用Kafka,在javaee中主要采用ActiveMQ, RabbitMQ, RocketMQ 2. MQ作用 (1)削峰 (2)解耦 (3)异步 3. 消息队列的模式 (1)点对点模式 (2)发布订阅模式 二. Kafka基础架构 1. 在同一个消费者组中(每条消息只能被该组中的一个消费者消费),每个分区只能由一个固定消费者进行处理,否则后续很.. 阅读详情
kafka下载

略

kafka启动

从kafka的根目录启动

bin/kafka-server-start.sh config/server.properties

以守护线程方式启动

bin/kafka-server-start.sh -daemon config/server.properties
kafka使用命令

查看当前topic:

bin/kafka-topics.sh --list --zookeeper localhost:2181

创建topic: --topic topicname(主题名字) --parttitions num(分区数) --replication-factor num(副本数)

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

启动一个消费者

在一个新的终端执行下面的命令。

bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning

启动生产者

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

启动后,可以输入内容,然后回车。此时你应该可以在上一个消费者中看到有消息输出。

查看 topic 列表

bin/kafka-topics.sh --list --zookeeper localhost:2181

查看描述 topics 信息

bin/kafka-topics.sh --describe --zookeeper localhost:2181 --topic test

kafka常用知识

kafka消息结构

kafka引入一个leader/follower机制,一个topic有n个partition,n个partition都在自身以外的服务器中有多个follower(备份),平时是leader在使用,一旦leader挂掉,follower成为leader接替使用

consumer也有一个consumer group,一条topic的partition中的消息只能被consumer group中的一个拉取消费,若要一条topic被多个消费者同时订阅消费,则需要,把多个消费者放到不同的consumer group中

同一个消费者组里的不同消费者不能同时消费同一个分区的数据,所以消费者组的个数一般少于等于topic中parttiton的个数

kafka之MQ消息不重复
  1. 消费端处理消息的业务逻辑保持幂等性:不过来多少条消息,最后处理结构都是一样的
  2. 保证每条消息都有唯一编号且保证消息处理成功与去重表的日志同时出现:利用一张日志表来记录已经处理成功的消息的ID,如果新到的消息ID已经在日志表中,那么就不再处理这条消息。消息系统实现,也可以业务端实现。
kafka之空消息处理

kafka采用pull的方式获取消息,为了避免一直获取空数据,kafka在消费数据时会穿入一个timeout,如果没有数据可消费,consumer会等一段时间再返回,这段时长是timeout

一个consumer group中多个消费者,一个topic中有多个partition,这就牵扯到partition的分配问题,即确定那个partition由那个consumer消费,kafka两种方式一个RoundRobin(轮训:按照组分的),一个Range(按照topic分的)

kafka之ack–保证消息同步

kafka接受到producer的消息,同步到leader和全部的follower中,才会给producer发送ack(消息发送成功),那么这里就有一个问题,如果其中一个follower挂了就会造成一直不能发送ack怎么办,这时候leader维护了一个动态的ISR,ISR中的follower同步了leader之后,会发送ack,如果有一个follower迟迟不能同步,ISSR就会把这个follower剔除ISR,接下来leader挂掉之后,只会在ISR中选取leader

ack中的参数:acks等于0时,producer不等broker的ack,这个有可能消息丢失,acks等于1时,partition的leader同步后返回ack,如果follower同步之前leader故障,会造成消息丢失(被写入死亡leader但尚未复制将失去了唯一的消息),等于-1时,是ISR中所有的follower同步成功返回ack,极小可能造成数据丢失,有可能造成数据重复(follower同步完成之后,leader没有发送ack之前出故障,换了leader之后,producer会重新发送一遍)

kafka之消息分发

kafka集群链接zookeeper,所以多个端口或多台主机启动kafka连接到同一个zookeeper中,都找zookeeper进行注册,所以producer生产消息时,链接kafka会被自动分配到不同分区(不同主机)
zookeeper帮助kafka构建集群,存储kafka有多少主题,有多少分区,有多少副本,哪个副本是leader,针对topic的增删改查都是直接指向zookeeper

kafka之消费消息有序性

consumer要保存offset(偏移量),便于拉取消息的时候找到读取消息的位置,读取消息
consumer可以保证读取分区的时候是有序的,但是全局上(producer生产消息时,分配到不同分区,onsumer不会按照这个顺序消费–这个需要注意⚠️)

kafka之生产消息存储位置

每个partition对应一个log文件,该log文件存储的是producer生产的数据,producer生产的数据会被不断的追加到该log文件的末端,每条数据有自己的offset,consumer实时记录自己消费到了什么位置

kafka消息推送模式

kafka基于基于发布订阅模式,一对多,kafka的topic推送消息给多个订阅者

  1. 点对点
  2. 拉取加长轮询
    而kafka的consumer端选用拉取加长轮循获取消息
kafka消息存储

kafka存储消息存储在磁盘,默认保留七天

Kafka基本操作命令 本实验任务主要完成基于ubuntu环境掌握Kafka基本操作命令的工作。通过完成本实验任务,要求学生熟练掌握Kafka基本操作命令,为后续实验的开展奠定Kafka平台基础,也为从事大数据平台运维工程师、大数据技术支持工程师等岗位工作奠定夯实的技能基础。1、掌握基于Kafka基本操作命令Ubuntu(三台节点:mater,slave1,slave2)、Zookeeper3.4.5、Kafka2.9.2Kafka is a distributed,partitioned,replicated commit lo 阅读详情

相关推荐

利用 docker 掌握 kafka 总集篇

[TOC] 第一节 Kafka 集群 承前 如果你是开发, 对搭建kafka集群没什么兴趣, 可以跳过这一章, 直接看明天的内容. 如果你觉得多了解一点没有什么坏处的话, 请继续看下去. 提醒一下, 本章图多 Kafka 集群搭建 概述 kafka集群的搭建还是比较繁琐的, 虽然只是下载文件,修改配置,但数据比较多. 基本环境需要3台zk服务器 和3台 kafka服务器. 操作流程 看图 ...

lluxury的博客 1635

kafka常用命令

bin/kafka-consumer-groups.sh --bootstrap-server $nodes --group $groupname --reset-offsets --all-topics --to-earliest --execute # 重设消费者组位移(待验证)bin/kafka-console-consumer.sh --bootstrap-server $nodes --topic $topicName --from-beginning # 使用消费者。

zhangmuqiang的博客 1万+

kafka 基础知识 第一讲

kafka 基础知识1.kafka 概述1.1 消息队列的两种模式1.2 kafka 特点1.3 kafka 架构 1.kafka 概述 kafka 是一个分布式的中间件,支持多分区、多副本、多订阅者,基于zookeeper协调的分布式消息系统。 1.1 消息队列的两种模式 1)点对点模式(一对一,消费者主动拉取数据,消息收到后消息清除) 消息生产者生产消息发送到Queue中, 然后消息消费者从Queue中取出并且消费消息。 2)发布/订阅模式(一对多,消费者消费数据之后不会清除消息) 消息生产者(发布)将

u010160949的博客 1326

Kafka基础理论与常用命令详解(超详细)

本文介绍了Kafka的基本概念和常用命令,包括Kafka的架构、特点和应用场景,以及Topics、Producer、Consumer和Groups命令的使用方法和常用选项。通过学习本文,您可以了解Kafka的基本原理和使用方法,以及如何使用命令行工具管理和操作Kafka集群。Kafka是一个开源的分布式流处理平台,最初由LinkedIn开发并于2011年开源。它被设计用于高吞吐量、低延迟的数据传输,以及处理实时数据流。因其常被应用于消息队列,所以又被叫做分布式消息队列。

zcs2312852665的博客 6650

手把手教你用Three.js+Vue打造3D机房可视化系统(附完整代码)

本文详细介绍了如何使用Three.js与Vue 3构建企业级3D机房可视化系统。从技术选型、项目架构设计到3D场景构建、设备建模与渲染策略,提供了完整的开发方案和实战代码。重点讲解了如何实现设备状态实时监控、交互操作与性能优化,帮助开发者快速掌握3D可视化开发的核心技术。

ttt77的博客 317

SAP 资产主数据屏幕增强:对比字段追加与子屏幕/页签 2 种方案优劣

本文深入对比了SAP资产主数据(AS01/AS03)屏幕增强的两种方案:字段追加与子屏幕/页签。从技术实现、业务适配、系统维护等维度分析各自优劣,提供方案选型决策树和混合方案实践建议,帮助企业在SAP实施中做出最优选择。

weixin_28559803的博客 284

C#使用Confluent.Kafka 接收到的消息Key为空的问题

解决kafka消费消息中key值为空的问题

easyboot的专栏 988

【TM1650】STM8S TM1650芯片控制程序

以下为.h文件: #ifndef __TM1650_I2C_H #define __TM1650_I2C_H #include "stm8s.h" #include "stm8s_gpio.h" #include "tim1.h" #include "usart2.h" #include <iostm8s103f3.h> #include <intrinsics....

cxw312864660的博客 1万+

Spring Cloud Alibaba集成Kafka遇到的坑导致传递对象,消费者读消息内容为空的解决方案

出错说明 集成kafka为了获取支持多种方式处理日志,目前平台已支持直接入库的模式,现增加了Kafka的模式,后续会集成elk的模式。 在集成kafka的时候,发送消息成功,但接收消息时,获取到的对象内容为空。 排查过程 修改配置参数 spring: ##Kafka配置 cloud: stream: bindings: log_input: destination: mate-log # producer: #

bufegar0的博客 2201

川崎机器人总线通信_三菱PLC和发那科机器人进行CCLINK总线通信

三菱CCLINK主站模块采用QJ61BT11N,该模块用在Q系列PLC上,如果是5U或3UPLC,可用FX5-CNV-BUS加FX3U-16CCL-M或FX5-CCL-M模块。本教程以Q系列为例CCLINK接线方法如下模块拨码含义如下接线和拨码设置好后,接着在编程软件上设置CCLINK通信参数打开编程软件,在工程导航栏打开参数——网络参数,选中CCLINK打开。打开如下画面起始IO为模块本体占用I...

weixin_42300398的博客 7546

非线性动力学_用MatCont分析非线性动力学方程组(一)

写在前面:笔者打算写两到三篇系列文章介绍MatCont,此为第一篇《用MatCont分析非线性动力学方程组(一)》。MatCont是一个基于Matlab而开发的免费工具包,专门用来做非线性动力学模型分叉、向量场、周期性等分析,符号(连续性)运算和数值(离散性)运算均适用。该工具的开发及研究项目由比利时Ghent大学的Willy Govaerts教授、荷兰Utrecht大学的Yuri Kuznets...

weixin_39700215的博客 2766

Kafka基础知识及常用命令

1. 基本信息 Linux安装kafka:链接 官方文档:链接 2. 基本概念 简单描述: Broker:已发布的消息保存在一组服务器中,称之为Kafka集群。集群中的每一个服务器都是一个代理(Broker)。 消费者可以订阅一个或多个主题(topic),并从Broker拉数据,从而消费这些已发布的消息。 Topic:Kafka将消息分门别类,每一类的消息称之为...

左撇子帕布 255

华为铁三角(AR、SR、FR)的考核指标设计

以和为核心,通过和实现协同。考核维度分为和,并随市场阶段动态调整权重。

从技术实践立足,从项目管理方法论延伸思考 2769

kafka 命令重新启动_命令行基础知识:关闭和重新启动

kafka 命令重新启动When you’re in the same room as a server, shutting it down or rebooting it is simple. You could hold the power button or even unplug the whole machine. Not only are these solutions inelega...

9828

SAP 经营范围(Operating Concern) 和业务范围 (Business Area) 在核算架构或是管理架构中的区别和联系分别是什么 请给具体的示例

摘要:SAP系统中,业务范围(Business Area)和经营范围(Operating Concern)在核算架构中具有不同功能。业务范围是FI/CO共用维度,用于跨公司码的业务线核算(如电子产品、机械设备),支持内部管理和简单对外报表。经营范围则是CO-PA专属维度,聚焦获利能力分析,可细化到产品+客户+区域组合(如分析手机在华东区域的获利情况)。两者存在层级关联:经营范围包含业务范围作为基础维度,业务范围数据会传递至经营范围进行深度分析。实际应用中需先配置业务范围,再设置经营范围并关联相关维度,共同支

金牌架构师 95

EtherCAT ROS2 入门教程(一)

本文介绍了EtherCAT驱动与ROS2的集成方案,主要包括三部分内容:1)在Ubuntu 22.04上安装IgH EtherCAT主站的详细步骤,包括内核配置、源码编译和网络适配器设置;2)构建ethercat_driver_ros2,通过ros2_control描述文件配置硬件接口和EtherCAT从站模块插件;3)使用方法,包括启动EtherCAT主站和运行配置包。该方案支持通过参数文件定义硬件接口,并提供通用和专用两种EtherCAT模块插件,便于开发基于EtherCAT的工业应用。

机器人控制与仿真应用 1528

「Kafka」Kafka生产数据和消费数据(三)

把当前的DOS窗口当成Kafka的客户端,那么进行操作前,就需要连接服务器,这里的参数就表示服务器的连接方式,因为我们在本机启动Kafka服务进程,且Kafka默认端口为9092,所以此处,后面接的参数值为localhost:9092,用空格隔开。把当前的DOS窗口当成Kafka的客户端,那么进行操作前,就需要连接服务器,这里的参数就表示服务器的连接方式,因为我们在本机启动Kafka服务进程,且Kafka默认端口为9092,所以此处,后面接的参数值为localhost:9092,用空格隔开。

技术路上的探险家 2892

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

Kafka快速入门

文章目录Kafka快速入门一.消息队列(一)消息队列介绍(二)常用的消息队列介绍1.RabbitMQ2.ActiveMQ3.RocketMQ4.Kafka5.常用消息队列对比(三)消息队列的应用场景1.异步处理2.应用耦合3.限流削峰4.消息驱动的系统(四)消息队列的两种模式1.点对点模式2.发布/订阅模式二.Kafka的基本介绍(一)Kafka简介(二)Kafka的好处(三)分布式的发布与订阅系...

DevinKim的博客 2922

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

Kafka对接采集日志Flum的集群搭建与部署

目录Kafka简介消息队列Kafka的应用场景消息队列的两种模型Kafka中的重要概念消费者组幂等性Kafka集群搭建kafka集群部署kafka启动脚本Kafka命令行操作1.查看Kafka Topic列表2.创建Kafka Topic3.删除Kafka Topic4.kafka消费信息5.查看kafka Topic详情6.kafka压力测试 Kafka简介 消息队列 消息队列——用于存放消息的组件 程序员可以将消息放入到队列中,也可以从消息队列中获取消息 很多时候消息队列不是一个永久性的存储,是作为临

李思成的博客 404

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

core net 消费kafka_Kafka与.net core(三)kafka操作

Kafka与.net core(三)kafka操作发布时间:2019-01-11 07:12,浏览次数:1573, 标签:Kafkanetcore1.Kafka相关知识* Broker:即Kafka的服务器,用户存储消息,Kafa集群中的一台或多台服务器统称为broker。* Message消息:是通信的基本单位,每个 producer 可以向一个 topic(主题)发布一些消息。**Kafka中...

weixin_32998219的博客 625

Kafka基础

Kafka 基础 Command Line命令 Topic 列举 kafka-topics.sh --zookeeper localhost:2181/kafka --list 查看 kafka-topics.sh --zookeeper localhost:2181/kafka --describe --topic test 注: describe可以列举多个kafka topic,如果不指定topic 可以看到所有topic的详细信息 创建 kafka-topics.sh --zookeep

dinl_vin的博客 197

大数据技术之Kafka(一)Kafka概述、Kafka快速入门、Kafka架构深入

文章目录1 Kafka 概述1.1 定义1.2 消息队列1.2.1 传统消息队列的应用场景1.2.2 消息队列的两种模式1.3 Kafka 基础架构2 Kafka 快速入门2.1 安装部署1.3.4 聚合1.4 Flume 企业开发案例1.4.1 复制和多路复用1.4.2 负载均衡和故障转移1.4.3 聚合1.5 自定义 Interceptor1.6 自定义 Source1.7 自定义 Sink2 企业真实面试题2.1 你是如何实现 Flume 数据传输的监控的?2.2 Flume 的 Source,Si.

huxili2020的博客 732

Linux搭建Kafka集群

Linux搭建Kafka集群 1 说明 1.1 编写目的 本文编写旨在介绍Kafka的集群架构配置,了解Kafka的基本使用。 1.2 适用范围 本文适用于对高效率消息中间件及对大数据处理比较有兴趣的童鞋。本文仅介绍了Kafka的基本知识、集群架构,以及Kafka的基本使用。 2 Kafka简介 2.1 什么是kafka Apache Kafka是分布式发布-订阅消息系统。它最初由LinkedIn...

zhangkai19910815的博客 2800

kafka详解

1、Kafka是什么(了解) 在流式计算中,Kafka一般用来缓存数据,Storm通过消费Kafka的数据进行计算。 KAFKA + STORM +REDIS Apache Kafka是一个开源消息系统,由Scala写成。是由Apache软件基金会开发的一个开源消息系统项目。 Kafka最初是由LinkedIn开发,并于2011年初开源。2012年10月从Apache Inc...

weixin_40903057的博客 469

大数据之Kafka

大数据之Kafka1 . Kafka概述1.1 定义1.2 消息队列1.2.1 传统消息队列的应用场景1.2.2 消息队列的两种模式1.3 Kafka 基础架构2 Kafka 快速入门2.1 集群规划2.1.2 Kafka 下载2.1.3 集群部署2.2 Kafka 命令行操作3 Kafka 架构深入3.1 Kafka工作流程及文件存储机制 1 . Kafka概述 1.1 定义 Kafka是一个分布式的基于分布、订阅模式的消息队列,主要应用于大数据实时处理领域。 至于什么是消息队列和分布、订阅模式,待会给

二锅头的博客 573

Kafka学习笔记1--初步使用

文章目录一、基础知识概述相关术语原理工作流程持久化原理Kafka常用命令在Java中使用Kafka 参考文章: https://baike.baidu.com/item/Kafka/17930165?fr=aladdin https://blog.youkuaiyun.com/qq_29186199/article/details/80827085 http://www.linkedkeeper.com/de...

I'm Baymax D 441
上一篇: springboot集成dubbo踩坑文档
下一篇: Failed to configure a DataSource: ‘url‘ attribute is not specified and no embedded datasource could
bug自动成长
博客等级 码龄6年 26粉丝 23原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值