kafka简单学习中遇到的一些问题的解决办法及个人对kafka的理解

1、kafka连接zookeeper超时问题:
首先检查配置文件,配置文件没有问题检查zookeeper端口号是否开启,默认2181。
如果是自己搭建的zookeeper环境,注意在配置server.properties以及
consumer.properties这两个配置文件的时候要注意把zookeeper集群上面的每个节点都配置上,在连接kafka时启动集群上面的完整的zookeeper环境,否则会出现kafka无法连接zookeeper的问题

2、kafka为什么速度那么快
生产者(写入数据)
生产者(producer)是负责向Kafka(broker)提交数据的,
Kafka会把收到的消息都写入到硬盘中(broker),它绝对不会丢失数据。
为了优化写入速度Kafak采用了两个技术,顺序写入和MMFile。
顺序写入:
因为硬盘是机械结构,每次读写都会寻址(offset)->写入,其中寻址是
一个“机械动作”,它是最耗时的。所以硬盘最“讨厌”随机I/O,最喜欢顺序I/O。
为了提高读写硬盘的速度,Kafka就是使用顺序I/O。
每一个Partition其实都是一个文件,收到消息后Kafka会把数据插入到文件末尾(消息存储在partition是顺序存储(offset))
这种方法有一个缺陷——没有办法删除数据,所以Kafka是不会删除数据的(话题保留策略),
它会把所有的数据都保留下来,每个消费者(Consumer)
对每个Topic都有一个offset用来表示读取到了第几条数据
Memory Mapped Files(mmf)
即便是顺序写入硬盘,硬盘的访问速度还是不可能追上内存。所以Kafka的数据并不是实时的写入硬盘,它充分利用了现代操作系统分页存储来利用内存提高I/O效率。
Memory Mapped Files(后面简称mmap)也被翻译成内存映射文件,在64位操作系统中一般可以表示20G的数据文件,它的工作原理是直接利用操作系统的Page来实现文件到物理内存的直接映射。完成映射之后你对物理内存的操作会被同步到硬盘上(操作系统在适当的时候)。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值