Apache Kafka是一个分布式发布 - 订阅消息系统和一个强大的队列,可以处理大量的数据,并使您能够将消息从一个端点传递到另一个端点。 Kafka适合离线和在线消息消费。 Kafka消息保留在磁盘上,并在群集内复制以防止数据丢失。 Kafka构建在ZooKeeper同步服务之上。 它与Apache Storm和Spark非常好地集成,用于实时流式数据分析。

好处

以下是Kafka的几个好处 -

  • 可靠性 - Kafka是分布式,分区,复制和容错的。
  • 可扩展性 - Kafka消息传递系统轻松缩放,无需停机。
  • 耐用性 - Kafka使用分布式提交日志,这意味着消息会尽可能快地保留在磁盘上,因此它是持久的。
  • 性能 - Kafka对于发布和订阅消息都具有高吞吐量。 即使存储了许多TB的消息,它也保持稳定的性能。

Kafka非常快,并保证零停机和零数据丢失。



1.安装Zookeeper 

Kafka的运行依赖于Zookeeper,所以在运行Kafka之前我们需要安装并运行Zookeeper 

1.1 下载安装文件: http://mirror.bit.edu.cn/apache/zookeeper/ 

1.2 解压文件(本文解压到 D:\zookeeper-3.4.8) 

1.3 打开D:\zookeeper-3.4.8\conf,把zoo_sample.cfg重命名成zoo.cfg 

1.4 从文本编辑器里打开zoo.cfg 

1.5 修改dataDir和dataLogDir保存路径 

dataDir=D:\data\logs\zookeeper 

dataLogDir=D:\data\logs\zookeeper 

1.6 添加如下系统变量:ZOOKEEPER_HOME: D:\zookeeper-3.4.8 

Path: 在现有的值后面添加 ;%ZOOKEEPER_HOME%\bin; 

1.7 运行Zookeeper: 打开cmd然后执行zkserver 命令。如果打印以下信息则表示zookeeper已经安装成功并运行在2181端口。 

kafka有什么缺点_zookeeper

2.安装并运行Kafka 
2.1 下载安装文件: http://kafka.apache.org/downloads.html 
2.2 解压文件(本文解压到 D:\kafka_2.11-0.10.2.0) 
2.3 打开D:\kafka_2.11-0.10.2.0\config\ server.properties 
2.4 把 log.dirs的值改成 log.dirs=D:\data\logs\kafka 
2.5 D:\kafka_2.11-0.10.2.0\bin文件夹下的.sh命令脚本是在shell下运行的,此文件夹下还有个 windows文件夹,里面是windows下运行的.bat命令脚本 
2.6 在D:\kafka_2.11-0.10.2.0文件夹中”Shift+鼠标右键”点击空白处打开命令提示窗口 
2.7 输入并执行一下命令以打开kafka:

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

显示的信息如下,则表示正常运行 

kafka有什么缺点_kafka_02

3.创建topics 
3.1在D:\kafka_2.11-0.10.2.0\bin\windows文件夹中”Shift+鼠标右键”点击空白处打开命令提示窗口

kafka-topics.bat --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test

4.打开一个Producer 
4.1在D:\kafka_2.11-0.10.2.0\bin\windows文件夹中”Shift+鼠标右键”点击空白处打开命令提示窗口

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

5.打开一个Consumer 
5.1在D:\kafka_2.11-0.10.2.0\bin\windows文件夹中”Shift+鼠标右键”点击空白处打开命令提示窗口

kafka-console-consumer.bat --zookeeper localhost:2181 --topic test

注意:以上打开的窗口不要关闭