kafka学习

kafka概述:

定义

kafka是一个分布式的基于发布/订阅模式的消息队列(message queue),主要应用于大数据实时处理领域

kafka对消息保存时根据Topic进行归类,发送消息成为Producer、消息接收者称为Consumer、此外kafka集群有多个kafka实例组成、每个实例(sever)成为broker

 

无论时kafka集群,还是consumer都依赖于zookeeper集群保存一些信息、来保证系统可用性

 

ps:读写请求都是leader、follower只是数据备份、每个leader的follower不能放在同一个broker下面

同一个组的消费者不能同时消费一个分区的数据

broker的partition的lader信息、和topic信息都存在zookeep集群里面,可以到zookeeper下面查找到topic、查看leader信息

 

消息队列

点对点模式(一对一,消费者主动拉去数据、消息收到后消息清除、缺点:要实时监控服务端是否有数据

发布/订阅模式(一对多,数据生产后,推送给所有订阅者)

消息队列优点:

解耦

冗余

扩展性

灵活¥&峰值处理能力

可恢复性

顺序保证

缓冲

异步通信

 

kafka集群部署

bin目录存放启动文件,kafka启动、topic创建、producer生产者创建、consumer消费者创建文件。config存放系统配置文件。server.properlies

1、修改配置文件:vim server.properties

broker.id=1#这是这台broker的值

添加:zookeeper.connect=192.168.172.12:12181,192.168.172.11:12181,192.168.172.10:12181

#这个是zookeeper集群的ip+端口

2、启动服务、进入kafka/bin目录

启动kafka程序

nohup ./kafka-server-start.sh -daemon ../config/server.properties& #后台永久启动

3、检查服务是否启动

jps #查看所有java程序启动

 

4、创建topic来验证是否成功

./kafka-topics.sh --create --zookeeper 192.168.172.10:12181 --replication-factor 2 -- partitions 1 --topic my-topic

参数解释:replication-factor 2 创建2个副本

partitions 1 创建一个分区

topic my-topic 主题名称

5、创建一个生产者producer,生产者连kafka地址+端口

进入kafka/bin目录下有一个kafka-console-consumer.sh执行文件

./kafka-console-producer.sh --broker-list 192.168.7.70:9092 --topic my-topic

执行命令后开始输入数据

6、在另一台虚拟机创建一个消费者cunsumer、消费者连的市zookeeper集群地址+端口

./kafka-console-consumer.sh --zookeeper 192.168..7.70:2181 --topic my-topic

启动消费者后会自动去读取生产者的数据

7、可以到

实例截图:

uploading.4e448015.gif转存失败重新上传取消

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值