• 学习kafka笔记


    一:概念

    Kafka是一个分布式的消息队列,相当于我们生活中的快递柜,快递点,快递员将快递放到快递柜中,收件人去取,把快递(消息)的入柜(入队)和处理进行解耦,使得双方以自己合适的时间和频率处理快递,此外快递柜也起着削峰填谷的作用,双十一,一车快递进入一个快递点,收件一时间无法领取掉自己的快递,可以暂存到快递点,收件人有时间在去取。

    Kafka对消息保存时根据Topic进行归类,发送消息者称为Producer,消息接受者称为Consumer,此外kafka集群有多个kafka实例组成,每个实例(server)称为broker。

    其他知识点可查看

      博客kafka有趣的介绍:https://www.cnblogs.com/sujing/p/10960832.html

    (自己总结kafka 知识架构见百度脑图:http://naotu.baidu.com/file/1533ce4eb64b046a45696ad745490720   和百度云盘-组件知识库-kafka中的word文档)

    二:部署kafka相关命令(单机,集群)

       使用kafka自带的zookeeper集群启动

    (1)下载好kafka的包,并解压到/opt/kafka/目录下

         tar zxvf kafka_2.11-2.2.1.tgz -C /opt/kafka

    (2)启动自带的zookeeper(2181端口)

        cd /opt/kafka/kafka_2.11-2.2.1/

        bin/zookeeper-server-start.sh config/zookeeper.properties  

      (3)启动kafka(9092端口)

        bin/kafka-server-start.sh -daemon  config/server.properties   (-daemon表示守护进程)

        lsof -i :9092   (列出9092端口是否在使用)

     (4)创建topic

        bin/kafka-topics.sh --create --zookeeper localhost:2181 --partitions 2 --replication-factor 3 --topic first

       其中:--partitions 2 //创建2个分区

                  --replications-factor 3 //副本数,leader在副本中

                  --topic //主题为first

        查看topic列表

        bin/kafka-topics.sh --list --zookeeper localhost:2181 first

        查看topic详情描述

        bin/kafka-topics.sh --zookeeper localhost:2181 --describe topic first

      (5)创建生产者

        bin/kafka-console-producer.sh --broker-list localhost:9092 --topic first

        (6)  创建消费者

        bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic first --from-beginning   (--from-beginning表示从开始topic起点开始消费)

          注:旧版本中--bootstrap-server是 --zookeeper (消费者的offset之前的版本存放在zookeeper中,新版本offset存放在broker集群的topic中)

        补充:下载和命令详情可参考kafka官网 (http://kafka.apache.org/quickstart)

                 

        删除topic
        bin/kafka-topics.sh --delete --zookeeper localhost:2181  --topic first

        停止kafka
        bin/kafka-server-stop.sh stop

        启动指定配置文件的消费者
        bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic first --from-beginning --consumer.config config/consumer.properties

  • 相关阅读:
    观察者模式
    php中compact,extract,list函数的使用
    加密解密
    python 线程池proxypool
    python qq音乐下载
    python 网易云音乐
    python 知识点
    python 格式化 header
    python 爬取百度图片
    php 过滤掉多维数组空值
  • 原文地址:https://www.cnblogs.com/shuaifing/p/11023337.html
Copyright © 2020-2023  润新知