zoukankan      html  css  js  c++  java
  • python-- kafka(一): kafka 安装和查询

    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 FilesJavajdk-13.0.2 (jdk的安装路径)
    Path: 在现有的值后面添加"; %JAVA_HOME%in"
    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.7conf文件夹下的zoo_sample.cfg重命名成zoo.cfg,继续编辑zoo.cfg文件,修改dataDir的值,即数据保存的路径,相对路径和绝对路径都可以,自己设置就行。

    2.2 配置环境变量

    ZOOKEEPER_HOME: C:apache-zookeeper-3.5.7 (zookeeper目录)
    Path: 在现有的值后面添加 “;%ZOOKEEPER_HOME%in;”
    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 选择命令窗口运行,输入 .inwindowskafka-server-start.bat .configserver.properties
    启动kafka程序,最后显示start启动成功,窗口不关闭

    测试kafka的生产端和消费端

    在kafka目录下,进入binwindows下

    创建主题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

  • 相关阅读:
    js Math对象
    extjs 获取Dom对象
    easyui validatebox 验证集合
    Ext.Ajax.request与form.submit的用法区别
    js获取url参数值
    【原创】extjs4做的grid,带分页,搜索
    SqlServer2005数据库同步
    【原创】jquery实现动态多组图片切换
    easyui表单数据验证
    对象模型图【OMD】阅读指南
  • 原文地址:https://www.cnblogs.com/ExMan/p/14951669.html
Copyright © 2011-2022 走看看