kafka启动没日志_kafka是什么?kafka仅仅是属于消息 中间件吗?

Kafka最初设计为同时具备数据存储和消息中间件功能的平台,支持数据流的发布、订阅及持久化。其分布式架构易于扩展,支持集群工作。本文介绍了Kafka的基本概念如Broker、Topic、Partition、Producer和Consumer,以及其优缺点、安装启动、参数配置、管理命令、Java客户端使用和偏移量管理。强调了Kafka在数据存储、消息传递和流处理中的角色,以及其在数据存储、高伸缩性和高性能方面的优势,但也指出其运维挑战和对Zookeeper的依赖。
摘要由CSDN通过智能技术生成

kafka在设计之初的时候 开发人员们在除了消息中间件以外,还想吧kafka设计为一个能够存储数据的系统,有点像常见的非关系型数据库,比如说NoSql等。除此之外 还希望kafka能支持持续变化,不断增长的数据流, 可以发布和订阅数据流,还可以对于这些数据进行保存

也就是说kafka的本质 是一个数据存储平台,流平台 , 只是他在做消息发布,消息消费的时候我们可以把他当做消息中间件来用。

而且kafka在设计之初就是采用分布式架构设计的, 基于集群的方式工作,且可以自由伸缩,所以 kafka构建集群非常简单

基本概念:

  • Broker : 和AMQP里协议的概念一样, 就是消息中间件所在的服务器
  • Topic(主题) : 每条发布到Kafka集群的消息都有一个类别,这个类别被称为Topic。(物理上不同Topic的消息分开存储,逻辑上一个Topic的消息虽然保存于一个或多个broker上但用户只需指定消息的Topic即可生产或消费数据而不必关心数据存于何处)
  • Partition(分区) : Partition是物理上的概念,体现在磁盘上面,每个Topic包含一个或多个Partition.
  • Producer : 负责发布消息到Kafka broker
  • Consumer : 消息消费者,向Kafka broker读取消息的客户端。
  • Consumer Group(消费者群组) : 每个Consumer属于一个特定的Consumer Group(可为每个Consumer指定group name,若不指定group name则属于默认的group)。
  • offffset 偏移量: 是kafka用来确定消息是否被消费过的标识,在kafka内部体现就是一个递增的数字

kafka消息发送的时候 ,考虑到性能 可以采用打包方式发送, 也就是说 传统的消息是一条一条发送, 现在可以先把需要发送的消息缓存在客户端, 等到达一定数值时, 再一起打包发送, 而且还可以对发送的数据进行压缩处理,减少在数据传输时的开销

kafka优缺点

优点:基于磁盘的数据存储 高伸缩性 高性能 应用场景 : 收集指标和日志 提交日志 流处理

缺点:运维难度大 偶尔有数据混乱的情况 对zookeeper强依赖 多副本模式下对带宽有一定要求

kafka安装&启动

kafka安装的话,直接 从官网下载压缩包下来解压就可以了

注意的是, 启动kafka要先启动zookeeper kafka默认自带了zookeeper 可以启动他自带的 也可以自己另外使用启动kafka需要执行 kafka-server-start.bat 文件 然后 需要传入一个路径参数 就是你server.confifig文件的地址 一般情况下传入../../confifig/server.properties 即可

刚刚提到的zookeeper kafka默认的zookeeper 启动的话启动zookeeper-server-start.bat文件即可 同样 要传入路径参数:../../confifig/zookeeper.properties

server 参数解释:

log.dirs: 日志文件存储地址, 可以设置多个

num.recovery.threads.per.data.dir:用来读取日志文件的线程数量,对应每一个log.dirs 若此参数为2 log.dirs 为2个目录 那么就会有4个线程来读取

auto.create.topics.enable:是否自动创建tiopic

num.partitions: 创建topic的时候自动创建多少个分区 (可以在创建topic的时候手动指定)

log.retention.hours: 日志文件保留时间 超时即删除

log.retention.bytes: 日志文件最大大小

log.segment.bytes: 当日志文件达到一定大小时,开辟新的文件来存储(分片存储)

log.segment.ms: 同上 只是当达到一定时间时 开辟新的文件

message.max.bytes: broker能接收的最大消息大小(单条) 默认1M

kafka基本管理操作命令:

##列出所有主题 kafka-topics.bat --zookeeper localhost:2181/kafka --list

##列出所有主题的详细信息 kafka

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值