kafka个人基础教程(二)安装使用篇

操作演示 windows7 64位
参考文章:https://kafka.apache.org/quickstart

  1. 下载代码
    https://www.apache.org/dyn/closer.cgi?path=/kafka/2.3.0/kafka_2.12-2.3.0.tgz
  2. 启动zookeeper ==》zookeeper入门篇

配置zookeeper相关信息
zookeeper没有修改默认接口可以跳过以下配置
在这里插入图片描述
在这里插入图片描述
3. 启动kafka服务器
使用cmd进入到windows目录
在这里插入图片描述
使用以下命令

kafka-server-start.bat ../../config/server.properties

在这里插入图片描述

  1. 创建toptic
kafka-topics.bat --create --bootstrap-server localhost:9092 --replication-factor 1 --partitions 1 --topic test
  1. 获取toptic
kafka-topics.bat --list --bootstrap-server localhost:9092

在这里插入图片描述

  1. 发送消息
kafka-console-producer.bat --broker-list localhost:9092 --topic test

在这里插入图片描述
使用crtl + c退出 并单击y就行了

  1. 接受消息
kafka-console-consumer.bat --bootstrap-server localhost:9092 --topic test --from-beginning

在这里插入图片描述
接收成功

  1. 集群kafka
    以上操作真是针对单个broker,现在我们来模拟操作集群环境下从多个borker生产消费
  • 复制多个service配置文件
    如果你是用linux系统可以使用cp命令进行复制
    在这里插入图片描述
  • 编辑复制文件的配置信息
config/server-1.properties:
    broker.id=1
    listeners=PLAINTEXT://127.0.0.1:9093
    log.dirs=/tmp/kafka-logs-1
config/server-2.properties:
    broker.id=2
    listeners=PLAINTEXT://127.0.0.1:9094
    log.dirs=/tmp/kafka-logs-2

在这里插入图片描述
在这里插入图片描述

broker.id属性是群集中每个节点的唯一且永久的名称。

  • 启用以刚创建的两个配置文件的kafa服务
    ok,加上之前启动的一个一共就是启动了三个kafka服务了
    在这里插入图片描述
  • 创建拥有3个副本的toptic
kafka-topics.bat --create --bootstrap-server localhost:9092 --replication-factor 3 --partitions 1 --topic my-replicated-topic

在这里插入图片描述
没有报错就是成功,多么友好的交互=-=
以下为集群在zk的节点信息(可视化工具zkui
在这里插入图片描述
在这里插入图片描述

现在我们拥有了一个集群,那么我们该怎么查看哪些broker到底在做什么呢?我们可以使用“describe topics”命令

kafka-topics.bat --describe --bootstrap-server localhost:9092 --topic my-replicated-topic

在这里插入图片描述

Topic:my-replicated-topic   PartitionCount:1    ReplicationFactor:3 Configs:
    Topic: my-replicated-topic  Partition: 0    Leader: 0   Replicas: 1,2,0 Isr: 1,2,0

这是输出的解释。第一行给出了所有分区的摘要,每个附加行提供有关一个分区的信息。由于此toptic只有一个分区,因此只有一行。

  • leader”是负责给定分区的所有读写的节点。每个节点将成为随机选择的分区部分的领导者。
  • replicas”是复制此分区日志的节点列表,无论它们是否为领导者,或者即使它们当前处于活动状态。
  • isr”是“同步”复制品的集合。这是副本列表的子集,该列表当前处于活跃状态并且已经被领导者捕获。就是正在服务的节点

从以上信息可以看出0为Leader,该0不是代表0个leader而是其中的一个kafka服务标示为0

重新给新主题 my-replicated-topic发布消息
kafka-console-producer.bat --broker-list 127.0.0.1:9092 --topic my-replicated-topic

在这里插入图片描述

接收以上信息
kafka-console-consumer.bat --bootstrap-server 127.0.0.1:9092 --from-beginning --topic my-replicated-topic

在这里插入图片描述
为什么少一行是应为最后一行没有没有换行╮(╯▽╰)╭
接收成功,请无视上面的编码问题导致的乱码╮(╯▽╰)╭,我们重点不在这

杀掉其中的Leader看我们还能不能接收该消息

在这里插入图片描述
上面反馈的是2是leader,现在我们把0的kafka服务干掉
它对应的端口是9094
在这里插入图片描述

netstat -ano |findstr "端口号"
tasklist |findstr "进程id号"
taskkill /f /t /im "进程id或者进程名称"

在这里插入图片描述
在这里插入图片描述
O(∩_∩)O leader已被干掉下面我们来重新接收消息
在这里插入图片描述
通过zk节点信息,我们发现0节点被选举上了leader在这里插入图片描述
在这里插入图片描述
成功接收

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值