python-- kafka(一): kafka 安装和查询

时间:2021-06-30 17:51:24   收藏:0   阅读:0

kafka 应用
数据读取
理论
生产者和消费者

生产者:生产数据

消费者:消费生产者产生的数据

对应关系:一个任务可以有多个分组,可以对应多个消费者,但消费者数量不能大于生产者分组数量,多余的也是无用的。
(多对多的中的一对一关系)

特性:kafka只需写入一次,可以支持任意多的应用读取全部数据,如果应用需要读取全量消息,那么请为该应用设置一个消费组,如果消费能力不强可在组内增加消费者数量。

安装
参考:https://www.cnblogs.com/lnice/p/9668750.html
除了安装版本的选择,尤其是2和3必须按照下边的提示下载,其他都按照这个来没有问题。

https://blog.csdn.net/jiangxiulilinux/article/details/96433560?depth_1-utm_source=distribute.pc_relevant.none-task

1. java jdk 安装
1.1
下载地址:https://www.oracle.com/java/technologies/javase-jdk13-downloads.html

下载选择:Java SE Development Kit 13.0.2,选择根据自己的电脑配置,本人选择为Windows x64 Installer,安装直接根据提示就可以。

1.2 添加环境变量,(此电脑-> 右击–>属性–>高级配置–>环境变量)

JAVA_HOME: C:\Program Files\Java\jdk-13.0.2 (jdk的安装路径)
Path: 在现有的值后面添加"; %JAVA_HOME%\bin"
1.3
测试是否安装成功,进入cmd,输入java -version:查看java的版本;如果提示无法识别java,检查环境变量是否配置正确

2.ZOOKEEPER 安装
2.1 下载地址
https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/zookeeper-3.5.7/
为最新版本3.5.7

注意,3.5以后下载为名称中带bin的文件,(3.5.7对应的为apache-zookeeper-3.5.7-bin.tar.gz),不带bin的无法启动,坑,实际操作中下载为没有带bin的结果,尴尬了,怎么也启动不起来。

下载后直接解压到指定的位置,将apache-zookeeper-3.5.7\conf文件夹下的zoo_sample.cfg重命名成zoo.cfg,继续编辑zoo.cfg文件,修改dataDir的值,即数据保存的路径,相对路径和绝对路径都可以,自己设置就行。

2.2 配置环境变量

ZOOKEEPER_HOME: C:apache-zookeeper-3.5.7 (zookeeper目录)
Path: 在现有的值后面添加 “;%ZOOKEEPER_HOME%\bin;”
2.3 测试,cmd进入,输入zkserver 启动运行程序,cmd的窗口不能关闭

3.kafka 安装
3.1 下载路径:http://kafka.apache.org/downloads.html

选择:选择Binary downloads下载,参照建议下载的Scala 2.12 - kafka_2.12-2.4.0.tgz版本

注意,此地也是一个坑,如果下载src版本的无法运行,切记

直接解压,无需安装,解压后在config文件中找到server.properties,打开修改 log.dirs=C:/kafka_2.12-2.4.0/kafka-logs,zookeeper直接安装在本地,所有zookeeper.connect=localhost:2181 无需修改,否则按照自己的安装修改地址和端口

3.2. 在解压路径下右键+shift 选择命令窗口运行,输入 .\bin\windows\kafka-server-start.bat .\config\server.properties
启动kafka程序,最后显示start启动成功,窗口不关闭

测试kafka的生产端和消费端

在kafka目录下,进入bin\windows下

创建主题topic,在windows路径下操
创建一个topic:

kafka-topics.bat --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test:显示“Created topic test”

生产,在windows路径下操作

kafka-console-producer.bat --broker-list localhost:9092 --topic test
然后,写入生产的数据:welcome to newday!!!

消费

kafka-console-consumer.bat --bootstrap-server localhost:9092 --topic test --from-beginning:将生产的数据显示在页面上

到此,kafaka在本地单机安装和测试已经完成,可以正常使用。

kafka 查看操作
参考: https://blog.csdn.net/qq_21383435/article/details/109788860?utm_medium=distribute.pc_relevant.none-task-blog-baidulandingword-3&spm=1001.2101.3001.4242

https://www.cnblogs.com/szy13037-5/articles/12451611.html

Kafka内部提供了许多管理脚本,这些脚本都放在$KAFKA_HOME/bin目录下,而这些类的实现都是放在源码的kafka/core/src/main/scala/kafka/tools/路径下

bin/kafka-run-class.sh kafka.tools.DumpLogSegments : 可以查看kafka的日志

bin/kafka-run-class.sh kafka.tools.DumpLogSegments --files /iteblog/data/test-4/00000000000034245135.log : 需要查看具体日志,添加–files 参数,后边紧跟日志路径,指的就是Kafka中Topic分区所在的绝对路径。分区所在的目录由config/server.properties文件中log.dirs参数决定,想要看多个日志用“,”分割,只会将Kafka中Message中Header的相关信息和偏移量都显示出来了;–print-data-log可以看日志的具体信息。
kafka,查看指定group下topic的堆积数量:

./kafka-consumer-groups.sh --bootstrap-server 10.1.16.73:9092(主机地址) --describe --group track-consumer-group(组名)
1
输出结果:

TOPIC PARTITION CURRENT-OFFSET LOG-END-OFFSET LAG CONSUMER-ID HOST CLIENT-ID
topic名字 分区id 当前已消费的条数 总条数 未消费的条数 消费id 主机ip 客户端id
运行命令查看所有的topic: ./bin/kafka-topics.sh --list --zookeeper localhost:2181(地址)

创建主题: ./bin/kafka-topics.sh --create --topic quickstart-events --bootstrap-server localhost:9092

导出某个Consumer group各个分区的偏移量: bin/kafka-run-class.sh kafka.tools.ExportZkOffsets --group spark --zkconnect www.iteblog.com:2181(主机地址) --output-file ~/offset(输出日志的保存路径)
————————————————
版权声明:本文为CSDN博主「高高兴兴5788」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_33624802/article/details/110424579

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!