第十四周 消息队列之Kafka从入门到小牛-1
初识Kafka
什么是消息队列
1 | 在学习Kafka之前我们先来看一下什么是消息队列 |
消息队列分类
1 | 消息队列大致可以分为两种:点对点(P2P)、发布订阅(Pub/Sub) |
什么是Kafka
1 | Kafka 是一个高吞吐量的、持久性的、分布式发布订阅消息系统 |
面试题
1 | Kafka的数据时存储是磁盘中的,为什么可以满足每秒百万级别消息的生产和消费? |
1 | Kafka主要应用在实时计算领域,可以和Flume、Spark、Flink等框架结合在一块使用 |
Kafka组件介绍
1 | 接下来我们来分析一下Kafka中的组件,加深对kafka的理解 |

1 | 先看中间的Kafka Cluster |
总结
1 | 在这里总结一下 |
Kafka集群安装部署
1 | 前面我们对Kafka有了一个基本的认识,下面我们就想使用一下Kafka |
zookeeper安装部署
1 | 针对Zookeeper前期不需要掌握太多,只需要掌握Zookeeper的安装部署以及它的基本操作即可。 |
zookeeper单机安装
1 | zookeeper需要依赖于jdk,只要保证jdk已经正常安装即可。 |
1 | 7:操作zookeeper |
1 | 这样就进入zookeeper的命令行了。 |
1 | [zk: localhost:2181(CONNECTED) 8] aa |
1 | 下面我们来具体看一些比较常用的功能: |
查看根节点下面有什么内容(常用)
1 | [zk: localhost:2181(CONNECTED) 0] ls / |
创建节点
1 | 在根节点下面创建一个test节点,在test节点上存储数据hello |
查看节点中的信息(常用)
1 | 查看/test节点中的内容 |
删除节点
1 | 这个删除命令可以递归删除,这里面还有一个delete命令,也可以删除节点,但是只能删除空节点,如果节点下面还有子节点,想一次性全部删除建议使用deleteall(递归删除,适用于这个节点下还有节点;这里用delete也可以) |
1 | 直接按 ctrl+c 就可以退出这个操作界面,想优雅一些的话可以输入quit退出 |
1 | 8:停止zookeeper服务 |
zookeeper集群安装
1 | 1:集群节点规划,使用三个节点搭建一个zookeeper集群 |
1 | 创建目录保存myid文件,并且向myid文件中写入内容 |
1 | 3:把修改好配置的zookeeper拷贝到其它两个节点 |
1 | 4:修改bigdata02和bigdata03上zookeeper中myid文件的内容 |
1 | 5:启动zookeeper集群 |
1 | 6:验证 |
1 | 7:操作zookeeper |
kafka安装部署
kafka单机安装
1 | zookeeper集群安装好了以后就可以开始安装kafka了。 |
1 | 1:下载kafka安装包 |
1 | 针对单机模式,如果kafka和zookeeper在同一台机器上,并且zookeeper监听的端口就是那个默认的2181端口,则zookeeper.connect这个参数就不需要修改了。 |
1 | 5:启动kafka |
1 | 6:验证 |
1 | 7:停止kafka |
kafka集群安装
1 | 1:集群节点规划,使用三个节点搭建一个kafka集群 |
1 | 注意:针对Kafka集群而言,没有主从之分,所有节点都是一样的。 |
1 | 3:将修改好配置的kafka安装包拷贝到其它两个节点 |
1 | 5:启动集群 |
1 | 6:验证 |
