学习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

 

posted @ 2019-06-14 15:06  shuaiflying  阅读(361)  评论(0编辑  收藏  举报