1. Kafka的简介
Kafka 是一个分布式、支持分区(partition)、多副本(replica)、基于 zookeeper 协调的消息中间件,最大的特点是可以实时地处理大量数据以满足各种需求场景。例如:基于 Hadoop 的批处理系统、低延迟的实时系统、访问日志、消息服务等。它最初是由 Linkedin 公司用 scala 语言开发出来的,并在 2010 年贡献给了 Apache 基金会,成为 Apache 的顶级开源项目,后面引入了 java 语言的开发。
1.1 使用场景
- 日志收集:可以用 Kafka 将各种服务的 log 进行收集,然后通过 Kafka 以统一接口服务的方式开放给各种消费者,如 Hadoop、Solr等。
- 消息系统:解耦生产者和消费者、缓存消息
- 用户活动跟踪:Kafka 常被用来记录 web 用户或者 app 用户的各种活动,如浏览网页、搜索、点击等活动,这些活动被各个服务生产者发布到 Kafka 的 topic 中,订阅者通过订阅这些 topic 来做实时的监控分析,或者其它处理。
- 运营指标:Kafka 也常用来记录运营监控数据,包括收集各种分布式应用的数据,生产各种操作的集中反馈,如报警和报告。
1.2 基本概念
如下表所示,是 Kafka 的一些基本概念。
名称 | 释义 |
---|---|
Broker | 消息中间件处理节点,一个 Kafka 节点就是一个 Broker ,一个或者多个 Broker 可以组成一个 Kafka 集群,通俗点理解就是一个 Broker 就是一个 Kafka 服务端,多个 Kafka 服务端组成集群 |
Topic | Kafka 根据 topic 对消息进行归类,发布到 Kafka 集群的每条消息都需要指定一个 topic |
Producer | 消息生产者,向 Broker 发送消息的客户端 |
Consumer | 消息消费者,从 Broker 读取消息的客户端 |
ConsumerGroup | 每个 Consumer 属于一个特定的 Consumer Group,一条消息可以被多个不同的 Consumer Group 消费,但是一个 Consumer Group 中只能有一个 Consumer 能够消费该消息 |
Partition | 物理上的概念,一个 topic 可以分为多个 partition ,每个 partition 内部消息是有序的 |
2. Kafka的安装
Kafka 依赖于 zookeeper 和 JDK,所以在安装 Kafka 之前,需要先安装 JDK。我的电脑以前就安装了 JDK1.8 ,所以不用再装;至于 zookeeper ,其实 Kafka 的安装包中,已经引入了 zookeeper 的 jar 包,所以它也不需要我再去单独装,因而我直接安装 Kafka 即可。
2.1 下载Kafka的压缩包
下载地址是:https://kafka.apache.org/downloads
我这里选择 Binary downloads 的下载方式,版本就来个 Scala 2.11 - kafka_2.11-2.2.1.tgz (asc, sha512) 的,如下图所示。
2.2 解压Kafka的压缩包
将下载下来的压缩包,解压到 D:\Kafka,关于 Kafka 的安装就结束了,接下来就是改配置信息。
1、修改 server.properties 配置文件
找到 D:\Kafka\kafka_2.11-2.2.1\config\server.properties 文件,修改里面的配置。
将 log.dir 的路径改为自己定义好的,保存并退出。
#kafka的消息存储文件,自己定义好就行
log.dir=D:/Kafka/kafka_2.11-2.2.1/kafka-logs
2、修改 zookeeper.properties 配置文件
找到 D:\Kafka\kafka_2.11-2.2.1\config\zookeeper.properties 文件,同样修改里面的配置。
将 dataDir 的值改为 D:/Kafka/kafka_2.11-2.2.1/zookeeper,如下所示,保存并退出。
dataDir=D:/Kafka/kafka_2.11-2.2.1/zookeeper
2.3 启动Kafka服务
1、启动 zookeeper 服务
由于 Kafka 依赖于 zookeeper ,所以要想启动 Kafka 的服务端,必须先启动 zookeeper 的服务。
打开 D:\Kafka\kafka_2.11-2.2.1 文件夹,在文件夹地址栏 输入 CMD,回车打开控制台,然后输入下面的命令,启动 zookeeper 服务。
.\bin\windows\zookeeper-server-start.bat .\config\zookeeper.properties
出现下图所示的结果,说明启动成功。
2、 启动 Kafka 服务
继续在 D:\Kafka\kafka_2.11-2.2.1 文件夹的地址栏 输入 CMD,回车再打开一个控制台,然后输入下面的命令,启动 Kafka 服务端。
.\bin\windows\kafka-server-start.bat .\config\server.properties
出现下图所示的结果,说明启动成功。