Kafka笔记(简介与安装)
admin
2024-03-19 06:04:22

Kafka简介

Kafka 是分布式发布-订阅消息系统。Kafka 是一个分布式的,可划分的,冗余备份的持久性的日志服务。它主要用于处理活跃的流式数据。
Kafka 的主要特点:

  • 同时为发布和订阅提供高吞吐量。据了解,Kafka 每秒可以生产约25万消息(50 MB),每秒处理55万消息(110 MB)。
  • 可进行持久化操作。将消息持久化到磁盘,因此可用于批量消费,例如 ETL,以及实时应用程序。通过将数据持久化到硬盘防止数据丢失。
  • 分布式系统,易于向外扩展。所有的 producerbrokerconsumer 都会有多个,均为分布式的。无需停机即可扩展机器。
  • 消息被处理的状态是在 consumer 端维护,而不是由 broker 端维护。当失败时能自动平衡。
  • 支持online和offline的场景。

Kafka 的整体架构非常简单,是显式分布式架构,producerbrokerconsumer 都可以有多个。producerconsumer 实现Kafka 注册的接口,数据从 producer 发送到 brokerbroker 承担一个中间缓存和分发的作用。broker 分发注册到系统中的 consumerbroker 的作用类似于缓存,即活跃的数据和离线处理系统之间的缓存。客户端和服务器端的通信,是基于简单,高性能,且与编程语言无关的 TCP 协议。

  • topic:特指 Kafka 处理的消息源的不同分类。
  • partitiontopic 物理上的分组,一个 topic 可以分为多个 partition,每个 partition 是一个有序的队列。partition 中的每条消息都会被分配一个有序的 id
  • message:消息,是通信的基本单位,每个 producer 可以向一个 topic 发布一些消息。
  • producers:消息和数据生产者,向 Kafka 的一个 topic 发布消息的过程叫做 producers
  • consumers:消息和数据消费者,订阅 topics 并处理其发布的消息的过程叫做 consumers
  • broker:缓存代理,Kafka 集群中的一台或多台服务器统称为 broker

Kafka 安装

在安装 Kafka 之前需要先安装 zookeepper,随后点击 Kafka 的 安装地址,进行一下步骤安装:

 ## 解压命令: tar -zxvf kafka_2.12-2.1.0.tgz -C /usr/local/ ## 改名命令: mv kafka_2.12-2.1.0/ kafka_2.12 ## 进入解压后的目录,修改server.properties文件: vim /usr/local/kafka_2.12/config/server.properties ## 修改配置: broker.id=0 port=9092 host.name=192.168.11.51 advertised.host.name=192.168.11.51 log.dirs=/usr/local/kafka_2.12/kafka-logs num.partitions=2 zookeeper.connect=192.168.11.111:2181,192.168.11.112:2181,192.168.11.113:2181 ## 建立日志文件夹: mkdir /usr/local/kafka_2.12/kafka-logs ##启动kafka: /usr/local/kafka_2.12/bin/kafka-server-start.sh /usr/local/kafka_2.12/config/server.properties & 

常用命令:

## 简单操作: 
#(1)创建topic主题命令:(创建名为test的topic, 1个分区分别存放数据,数据备份总共1份) 
kafka-topics.sh --zookeeper 192.168.11.111:2181 --create --topic topic1 --partitions 1 --replication-factor## --zookeeper 为zk服务列表 
## --create 命令后 --topic 为创建topic 并指定 topic name 
## --partitions 为指定分区数量 
## --replication-factor 为指定副本集数量 #(2)查看topic列表命令: 
kafka-topics.sh --zookeeper 192.168.11.111:2181 --list #(3)kafka命令发送数据:(然后我们就可以编写数据发送出去了) 
kafka-console-producer.sh --broker-list 192.168.11.51:9092 --topic topic1 #(4)kafka命令接受数据:(然后我们就可以看到消费的信息了) 
kafka-console-consumer.sh --bootstrap-server 192.168.11.51:9092 --topic topic1 --from-beginning #(5)删除topic命令: 
kafka-topics.sh --zookeeper 192.168.11.111:2181 --delete --topic topic1 #(6)kafka查看消费进度:(当我们需要查看一个消费者组的消费进度时,则使用下面的命令)
kafka-consumer-groups.sh --bootstrap-server 192.168.11.111:2181 --describe --group  消费组名称

相关内容

热门资讯

原创 京... 元羲书店,位于北京市朝阳区光熙家园1号楼-1至1层-110地下一层B16,它是目前京城最大的旧书店之...
最新或2023(历届)侵害消费...   《侵害消费者权益行为处罚办法》(总局令第73号,以下简称《处罚办法》)经国家工商行政管理总局局务...
最新或2023(历届)国务院消...   中华人民共和国消费税暂行条例  (1993年12月13日中华人民共和国国务院令第135号  发布...
最新或2023(历届)上海市消...   上海市消费者权益保护条例  (2002年10月28日上海市第十一届人民代表大会常务委员会第四十四...
最新或2023(历届)最新消费...  第一章总则  第一条为保护消费者的合法权益,维护社会经济秩序,促进社会主义市场经济健康发展,制定本...