1、Kafka概念:
Topic: Kafka按照Topic分类来维护消息,每个Topic可以配置多个partition(分区),每个分区只能被一个消费者消费,每个partition对应一个commit log文件
Producer: 我们将发布(publish)消息到Topic的进程称之为生产者(producer)
Consumer: 我们将订阅(subscribe)Topic并且处理Topic中消息的进程称之为消费者(consumer)
Broker: Kafka以集群的方式运行,集群中的每一台服务器称之为一个代理(broker)。
Topic是一个类别的名称,所有的message发送到Topic下面。对于每一个Topic,kafka集群按照如下方式维护一个分区(Partition,可以就理解为一个队列Queue)日志文件
partition是一个有序的message序列,这些message按顺序添加到一个叫做commit log的文件中
Kafka单播和多播实现靠组的概念来实现,一个partition只能被同一个组的一个consumer消费,但可以被不同组的consumer消费
连接kafka集群时不必写所有的连接字符串,客户端会通过zookeeper找到leader地址
kafka通过zookeeper分布式锁进行leader选举
2、安装环境: centos 7、JDK8、kafka_2.12-2.1.0 、zookeeper-3.4.12
wget https://archive.apache.org/dist/kafka/1.1.0/kafka_2.11-1.1.0.tgz
tar -xzf kafka_2.11-1.1.0.tgz
cd kafka_2.11-1.1.0
3.集群配置
修改config/server.properties属性
#不能重复
broker.id=1
zookeeper.connect=192.168.214.128:2181,192.168.214.129:2181,192.168.214.130:2181
启动
# [-daemon]后台运行
# bin/kafka-server-start.sh -daemon config/server-1.properties
# bin/kafka-server-start.sh -daemon config/server-2.properties