Kafka开源代码阅读学习之旅(二)- Kafka安装与启动

Kafka开源代码阅读学习之旅(三) - Kafka安装与启动

1.环境需求

本人使用环境,仅供参考

  • Vmware Workstation 16pro
  • Ubuntu18.04镜像
  • Docker

2.Kafka安装

Vmware workstation以及Ubuntu的安装不多赘述
需要提醒的一点是建议装上VMware tools,方便虚拟机与主机之间复制粘贴等等(很实用)。
有关VMware tools 的安装网上也有详细的教程,在此不多赘述。

2.1 Docker安装

首先安装curl

sudo apt install curl

安装命令,具体安装步骤见菜鸟教程Docker安装

curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

一步到位,终端输入docker有结果输出即为成功
在这里插入图片描述

2.2 kafka安装与使用

首先拉取kafka以及zookeeper的镜像

docker pull wurstmeister/kafka
docker pull wurstmeister/zookeeper 

如果报错权限不足,则在每个命令前加上sudo
在这里插入图片描述
在这里插入图片描述
出现以上即成功,加上开始pull的ubuntu镜像,我们现在一共有三个镜像
在这里插入图片描述
接下来启动zoomkeeper,否则启动kafka无法注册消息

docker run -it --name zookeeper -p 12181:2181 -d wurstmeister/zookeeper:latest

启动完成后,分别创建三台kafka容器,需要注意的是端口的映射注意都是映射到Kafka的9092端口上!否则将不能够连接!

四、kafka拓扑结构

在这里插入图片描述
一个典型的Kafka集群中包含若干Producer(可以是web前端FET,或者是服务器日志等),若干broker(Kafka支持水平扩展,一般broker数量越多,集群吞吐率越高),若干ConsumerGroup,以及一个Zookeeper集群。Kafka通过Zookeeper管理Kafka集群配置:选举Kafka broker的leader,以及在Consumer Group发生变化时进行rebalance,因为consumer消费kafka topic的partition的offsite信息是存在Zookeeper的。Producer使用push模式将消息发布到broker,Consumer使用pull模式从broker订阅并消费消息。

分析过程分为以下4个步骤:

  1. topic中partition存储分布
  2. partiton中文件存储方式 (partition在linux服务器上就是一个目录(文件夹))
  3. partiton中segment文件存储结构
  4. 在partition中如何通过offset查找message

通过上述4过程详细分析,我们就可以清楚认识到kafka文件存储机制的奥秘。

部分内容转自大佬文章

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值