zoukankan      html  css  js  c++  java
  • kafka 常用操作

    前言

    鉴于kafka是中间件,而且它提供了一些shell命令来让我们使用。那么我就来介绍下kafka的各个命令是做什么的,常用操作有哪些。

    正文

    命令

    进入kafka的安装目录,进到bin目录下,我们发现它有很多二进制命令。常用的有以下几类:

    1 管理zookeeper的脚本

    zookeeper-server-start.sh

    zookeeper-server-stop.sh

    zookeeper-shell.sh

     

    2 管理kafka服务的脚本

    kafka-server-start.sh

    kafka-server-stop.sh

     

    3 管理kafka各topic的脚本

    kafka-topics.sh

     

    4 管理生产者、消费者情况的脚本

    kafka-console-producer.sh

    kafka-console-consumer.sh

    kafka-consumer-groups.sh

     
    还有很多,但是我就不是很熟了。所以我会针对以上几类做出使用样例来。

     
     

    使用场景

    1. 启动zk和kafka。鉴于启动kafka的前提是启动zk,所以我们需要先启动zk,后启动kafka。

      nohup sh zookeeper-server-start.sh ../config/zookeeper.properties > /var/log/zookeeper.log & 
      
      nohup sh kafka-server-start.sh ../config/server.properties > /var/log/kafka.log & 
      

      二者用的都是后台启动,通过指定特定的配置文件进行启动,且都将日志输出到了/var/log/下的日志文件中。

    2. 创建、删除topic

      #创建topic
      sh kafka-topics.sh --zookeeper localhost:2181 --create --topic test_topic --partitions 30  --replication-factor 2
      
      #删除topic
      sh bin.kafka-topics.sh --zookeeper localhost:2181 --delete --topic test_topic
      
    3. 查看所有topic信息

      sh kafka-topics.sh --zookeeper localhost:2181 --list
      
    4. 查看特定topic信息

      sh kafka-topics.sh --zookeeper localhost:2181 --topic test_topic
      
    5. kafka查看consumer group状态

      sh kafka-consumer-groups.sh --bootstrap-server localhost:9092 --group mygroup --describe
      
    6. 控制台消费topic的数据

      sh kafka-console-consumer.sh --zookeeper localhost:2181  --topic test_topic --from-beginning
      
    7. 控制台想topic生产数据

      sh kafka-console-producer.sh --broker-list localhost:9092 --topic test_topic
      
    8. kafka清除分区的offset

      sh kafka-consumer-groups.sh --bootstrap-server localhost:9092 --group test_topic --reset-offsets --all-topics --to-latest --execute
      
      ##清理kafka分区的offset的前提是无应用占用此分区,否则会有下面的报错
      Error: Assignments can only be reset if the group 'real_time_product_group' is inactive, but the current state is Stable.
      
      
  • 相关阅读:
    Celery
    MongoDB-简介
    人工智障
    Flask-session,WTForms,POOL,Websocket通讯原理 -握手,加密解密过程
    web-socket
    flask基础2
    flask的基础1
    项目部署
    nginx简单学习
    redis的安装与配置
  • 原文地址:https://www.cnblogs.com/young233/p/12981506.html
Copyright © 2011-2022 走看看