准备
- kafka_2.11-0.10.2.1.tgz 下载地址: https://mirrors.cnnic.cn/apache/kafka/0.10.2.1/kafka_2.11-0.10.2.1.tgz
- 一台Linux服务器
- Java环境
安装部署
kafka_2.11-0.10.2.1.tgz 文件下载下来,移动到自己的目录下 我这里是 /opt/kafaka/
tar -zxvf kafka_2.11-0.10.2.1.tgz 解压
修改,server.properties
listeners=PLAINTEXT://192.168.176.129:9092 #本机地址,因为要远程访问
zookeeper.connect=10.231.83.73:2181 #写上zookeeper的地址
执行命令启动 [root@localhost kafka_2.11-0.10.2.1]# bin/kafka-server-start.sh config/server.properties
修改 consumer.properties
zookeeper.connect=10.231.83.73:2181 #写上zookeeper的地址
group.id=test-consumer-group #consumer group id记住,到时候会用
客户端调试
新建topic
创建一个名为test的topic
bin/kafka-topics.sh –create –zookeeper localhost:2181 –replication-factor 1 –partitions 1 –topic test
查看topic
bin/kafka-topics.sh –list –zookeeper localhost:2181
创建一个消息消费者
消费test
bin/kafka-console-consumer.sh –bootstrap-server localhost:9092 –topic test –from-beginning
创建一个消息生产者
给test主题 产生消息
bin/kafka-console-producer.sh –broker-list localhost:9092 –topic test
消息发送和接收
Kafaka结构
Broker
Kafka集群包含一个或多个服务器,这种服务器被称为broker
Topic
每条发布到Kafka集群的消息都有一个类别,这个类别被称为Topic。(物理上不同Topic的消息分开存储,逻辑上一个Topic的消息虽然保存于一个或多个broker上但用户只需指定消息的Topic即可生产或消费数据而不必关心数据存于何处)
Partition
Parition是物理上的概念,每个Topic包含一个或多个Partition.
Producer
负责发布消息到Kafka broker
Consumer
消息消费者,向Kafka broker读取消息的客户端。
Consumer Group
每个Consumer属于一个特定的Consumer Group(可为每个Consumer指定group name,若不指定group name则属于默认的group)。