kafka相关命令

发布时间:2022-11-26 13:00

启动kafka


    nohup ./kafka-server-start.sh ../config/server.properties &&>/dev/null 2>&1 &
        或者不指定日志输出位置和设置
    ./kafka-server-start.sh ../config/server.properties &

创建Topic

 ./bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 10 --topic KAFKA_CONSUME_TEST_MESSAGE_TOPIC

    partitions:表示topic的分区数
    replication-factor:用来设置主题的副本数。每个主题可以有多个副本,副本位于集群中不同的broker上,也就是说副本的数量不能超过broker的数量,否则创建主题时会失败。


查看所有topic信息

bin/kafka-topics.sh --list --zookeeper 127.0.0.1:2181

 或者直接在bin目录中执行

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


查看某个topic信息

bin/kafka-topics.sh --zookeeper localhost:2182 --topic KAFKA_CONSUME_TEST_MESSAGE_TOPIC --describe


查看topic的分区信息

bin/kafka-topics.sh --describe --zookeeper 127.0.0.1:2181 --topic KAFKA_CONSUME_TEST_MESSAGE_TOPIC  __consumer_offset


删除topic


    1、删除kafka存储目录(server.properties文件log.dirs配置,默认为"/tmp/kafka-logs")相关topic目录
    2、Kafka删除topic的命令(如果kafaka启动时加载的配置文件中server.properties没有配置delete.topic.enable=true,那么此时的删除并不是真正的删除,而是把topic标记为:marked for deletion):

生产数据


    无key值:
    默认情况下,所生产的消息是没有 key 的,执行上述命令后,就会在控制台等待键入消息体,直接输入消息值(value)即可,每行(以换行符分隔)表示一条消息。
    正常情况,每次回车表示触发“发送”操作,回车后可直接使用“Ctrl + c”退出生产者控制台

./bin/kafka-console-producer.sh --bootstrap-server localhsot:9092 --topic topicName 

      命令执行之后开始输入数据(9092是kafka单机启动的端口;--bootstrap-server   新旧kafka版本不一样,这个是新版本的命令)。或者

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

有key值:
        当需要为消息指定 key 时,默认消息键与消息值间使用“Tab键”进行分隔,切勿使用转义字符(\t),如下所示:
        >Lei Li    Hello Kafka!
        >Meimei Han    你好 kafka!
        键入如上信息表示所生产的消息“Lei Li”为消息键,“Hello Kafka”为消息值。

bin/kafka-console-producer.sh --bootstrap-server localhsot:9092 --topic topicName --property parse.key=true
或者
bin/kafka-console-producer.sh --broker-list localhsot:9092 --topic topicName --property parse.key=true

查看consumer 

bin/kafka-consumer-groups.sh --zookeeper 127.0.0.1:2181 --list


消费数据

./bin/kafka-console-consumer.sh  --zookeeper 127.0.0.1:2181 --from-beginning --topic KAFKA_CONSUME_TEST_MESSAGE_TOPIC
或者
./kafka-console-consumer.sh --bootstrap-server localhost:9092 --zookeeper localhost:2181 --topic KAFKA_CONSUME_TEST_MESSAGE_TOPIC --from-beginning

# 0.8版本及以下的的kafka 使用如下命令test topic中的数据

./kafka-console-consumer.sh  --zookeeper localhost:2181 --topic test

# 指定消费10条数据

./kafka-console-consumer.sh  --zookeeper localhost:2181 --topic test --max-messages 10

# 0.9版本及以上的kafka建议使用如下命令进行消费,当然也可使用上一条命令消费

./kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test

ItVuer - 免责声明 - 关于我们 - 联系我们

本网站信息来源于互联网,如有侵权请联系:561261067@qq.com

桂ICP备16001015号