文章目录
- ·认识 Kafka
- 官网
- 基本介绍
- 特性介绍
- 四个主要的 API 接口
- ·Kafka 的安装和启动
- 下载安装包
- 解压
- 启动
- Linux、Mac 环境
- Windows 环境
·认识 Kafka
官网
基本介绍
Kafka®用于构建实时数据管道(pipelines)和流应用程序。它具有横向可扩展性、容错性、极快的速度,并在数千家公司的生产中运行。
(图片来自官网)
特性介绍
以下内容主要来自于官网
一个拥有三个主要能力的流媒体( streaming )平台:
- 发布和订阅记录流,类似于消息队列或企业消息传递系统。
- 以容错的(fault-tolerant)持久化方式存储记录流。
- 可以对记录流进行实时处理。
Kafka 通用用于两大类应用:
- 在多个系统或者应用之间建立实时的媒体流管道,以允许他们之间可靠地获取数据。
- 创建实时的流媒体应用,以便于对流记录进行化或者其它操作。
几个概念
- Kafka 以集群的形式运行,允许包含一个或者多个server,横跨多个数据中心。
- Kafka 以 topics 的形式保存流记录。
- 每一个记录由 key、value 和 时间戳组成。
四个主要的 API 接口
- The Producer API:允许一个应用向一个或者多个 Kafka topics 一次性发送多个记录的流信息。
- The Consumer API :允许一个应用订阅一个或者多个topics 并且一次性处理由这些 topics 生产的多个记录的流信息。
- The Streams API :允许一个应用以一个 流处理器的身份,从一个或者多个 topics 中消费一个输入流,然后生产一个输出流到一个或多个输出 topics 中,可以有效的将输入流转化为输出流。
- The Connector API:允许创建并运行可重复使用的,用以连接Kafka topics 和 已存的应用或数据系统的生产者和消费者。比如,一个与关系型数据库的连接可能捕获每一个表的变更。
·Kafka 的安装和启动
下载安装包
下载最新包 你也可以直接点击下载本版本kafka_2.12-2.3.0
解压
这里提供了命令行模式,如果你是 Linux、Mac 操作系统可以按照这里操作
> tar -xzf kafka_2.12-2.3.0.tgz
> cd kafka_2.12-2.3.0
启动
需要说明的是,你本地需要先安装好 Zookeeper ,因为 Kafka 默认需要Zookeeper 的支持
Linux、Mac 环境
打开 Kafka 的安装目录
bin/zookeeper-server-start.sh config/zookeeper.properties
bin/kafka-server-start.sh config/server.properties
Windows 环境
打开Kafka 的安装目录运行下面的命令
.\bin\windows\kafka-server-start.bat .\config\server.properties