一、Kafka的介绍
1、Kafka 是一个分布式
的基于发布/订阅模式
的消息队列
(Message Queue),主要应用于大数据领域的实时计算以及日志采集。
2、队列 Queue 是一种先进先出
的数据结构。
# 4个核心API
1. Producer API:允许应用程序发布的记录流至一个或多个Kafka topics;
2. Consumer API:允许应用程序订阅一个或多个主题,并处理所产生的记录流;
3. Streams API:允许应用程序扮演流处理器,从一个或多个主题消耗的输入流,并产生一个输出流至一个或多个输出的主题,有效地把输入数据流转变输出流;
4. Connector API:允许构建和运行可重复使用的生产者或消费者,将Kafka topics连接到现有的应用程序或数据系统。
例如,关系数据库的连接器可能会捕获对表的所有更改;
5. topics:主题是被发布记录的一种类别或者订阅名称,Kafka的主题是通常是多用户的,也即一个主题可以有零个,
一个或者多个消费者来订阅写入该主题的数据;对于每个主题,Kafka集群都会维护一个分区日志;
6. Partition:为了实现扩展性,数据量大的topic可以分布到多个broker(即服务器)上,一个topic可以分为多个partition,
每个partition是一个有序的队列。partition中的每条消息都会被分配一个有序的id(offset)。kafka只保证按一个partition中的顺序将消息发给consumer,不保证一个topic的整体(多个partition间)的顺序;
7. Offset:kafka的存储文件都是按照offset.kafka来命名,用offset做名字的好处是方便查找
二、Kafka的安装及配置
1、环境
zookeeper jdk
2、配置(高可用HA)
Kafka 安装与配置_码农架构的博客-CSDN博客_kafka安装配置
# config/server.properties
broker.id=0 # kafka broker的编号,集群里每个broker的id需不同
listeners=PLAINTEXT://192.168.10.213:9092
log.dirs=/tmp/kafak-logs
三、Kafka的使用
# 常用命令
## topic列表查询
bin/kafka-topics.sh --zookeeper 127.0.0.1:2181 --list
四、Kafka可视化工具
kafka-eagle-bin
本文来自博客园,作者:anyu967,转载请注明原文链接:https://www.cnblogs.com/anyu967/articles/17322371.html