问答平台(5),Kafka入门

Kafka 简介

Kafka-图示

1
2
- Kafka 是一个分布式的流媒体平台。
- 应用:消息系统、日志收集、用户行为追踪、流式处理。

Kafka 特点

1
2
3
4
- 消息持久化:把数据存到硬盘上,而不是简单地存到内存。
- 高吞吐量:硬盘价格低、存储量大,是存储海量数据的前提。硬盘的顺序读取甚至高于对内存的随机读取,Kafka对硬盘的读取都是顺序进行的,所以对硬盘进行IO不一定性能低。
- 高可靠性:分布式环境,可以做集群部署,有容错能力。
- 高扩展性:集群不够用时,增加服务器方便。

Kafka 术语

1
2
3
4
5
6
- Broker:服务器。
- Zookeeper:独立的软件,管理集群。
- Topic:(点对点模式:一个数据被一个消费者读取)、(发布订阅模式:多个消费者关注一个位置,可以同时/先后读到这个位置的数据,Kafka 采用这种模式)。
- Partition:对主题位置的分区,可以同时向多个分区写数据,提高了并发能力。
- Offset:消息在分区内存放的索引。
- Replica:备份、副本(Leader:主副本、Follower:从副本)。

Kafka 应用场景

1
2
- 消息队列。建立实时流数据管道,可靠地在系统之间获取数据。
- 数据处理。构建实时的流数据处理程序来转换或处理数据。

修改配置文件

  • zookeeper.properties
    1
    2
    3
    dataDir=D:/work/data/zookeeper
    clientPort=2181
    maxClientCnxns=0
  • server.properties
    1
    log.dirs=D:/work/data/kafka-logs

命令行操作

启动 Zookeeper

启动zookeeper-图示

1
bin\windows\zookeeper-server-start.bat config\zookeeper.properties

启动 Kafka

启动kafka-图示

1
bin\windows\kafka-server-start.bat config\server.properties

创建并查看主题

创建并查看topic-图示

1
2
kafka-topics.bat --create --bootstrap-server localhost:9092 --replication-factor 1 --partitions 1 --topic test
kafka-topics.bat --list --bootstrap-server localhost:9092

生产者

生产者-图示

1
kafka-console-producer.bat --broker-list localhost:9092 --topic test

消费者

消费者-图示

1
kafka-console-consumer.bat --bootstrap-server localhost:9092 --topic test --from-beginning

参考资料


问答平台(5),Kafka入门
https://lcf163.github.io/2020/05/31/问答平台(5),Kafka入门/
作者
乘风的小站
发布于
2020年5月31日
许可协议