linux运维、架构之路-Kafka集群部署

一、Kafka介绍

      Kafka是一个开源的分布式消息引擎/消息中间件,同时Kafka也是一个流处理平台。Kakfa支持以发布/订阅的方式在应用间传递消息,同时并基于消息功能添加了Kafka Connect、Kafka Streams以支持连接其他系统的数据(Elasticsearch、Hadoop等)。Kafka最核心的最成熟的还是他的消息引擎,所以Kafka大部分应用场景还是用来作为消息队列削峰平谷。另外,Kafka也是目前性能最好的消息中间件。

二、Kafka架构图

linux运维、架构之路-Kafka集群部署

       Kafka集群(Cluster)中,一个Kafka节点就是一个Broker,消息由Topic来承载,可以存储在1个或多个Partition中。发布消息的应用为Producer、消费消息的应用为Consumer,多个Consumer可以促成Consumer Group共同消费一个Topic中的消息。

名称

说明

Broker

Kafka节点

Topic

主题,用来承载消息

Partition

分区,用于主题分片存储

Producer

生产者,向主题发布消息的应用

Consumer

消费者,从主题订阅消息的应用

Consumer Group

消费者组,由多个消费者组成

三、Kafka集群部署

Kafka 官网文档:http://kafka.apache.org/
Kafka 下载地址:http://kafka.apache.org/downloads

1、服务器规划

系统

IP

软件

JAVA

主机名

CentOS7.5

192.168.56.11

kafka_2.11-2.0.0.tgz

jdk1.8.0_181

kafka1

CentOS7.5

192.168.56.12

kafka_2.11-2.0.0.tgz

jdk1.8.0_181

kafka2

CentOS7.5

192.168.56.13

kafka_2.11-2.0.0.tgz

jdk1.8.0_181

kafka3

2、系统基础环境准备

#参照: https://www.cnblogs.com/yanxinjiang/p/12752871.html
#安装好JDK和Zookeeper集群

  Kakfa集群需要依赖ZooKeeper存储Broker、Topic等信息,这里我们部署三台ZK。

3、