美文网首页
Kafka的shell命令行操作

Kafka的shell命令行操作

作者: 小猪Harry | 来源:发表于2018-10-05 14:40 被阅读0次

    3、kafka命令行操作
    1、创建topic(注:因为修改了环境变量,所以不管有没有进入bin目录都能执行相应命令行操作)
    参数表示:指定副本数,使用几个partition(分片),topic名称

    [root@mini1 bin]# ./kafka-topics.sh --create --zookeeper mini1:2181 --replication-factor 2 --partitions 3 --topic orderMq
    Created topic "orderMq".
    [root@mini1 kafka]# kafka-topics.sh --create --zookeeper mini1:2181 --replication-factor 2 --partitions 3 --topic test
    Created topic "test".
    

    2、查看当前存在哪些topic

    [root@mini1 kafka]# kafka-topics.sh --list --zookeeper mini1:2181
    orderMq
    test
    

    3、删除指定topic

    [root@mini1 kafka]# kafka-topics.sh --delete --zookeeper mini1:2181 --topic test
    Topic test is marked for deletion.
    Note: This will have no impact if delete.topic.enable is not set to true.
    [root@mini1 kafka]# kafka-topics.sh --list --zookeeper mini1:2181
    orderMq
    

    4、通过shell命令行发送message(消息)

    [root@mini1 bin]# kafka-console-producer.sh --broker-list mini1:9092 --topic orderMq
    hello tom
    hi jerry
    spring ^H
    hhaah
    xixi
    nini
    

    5、通过shell命令行消费消息

    [root@mini1 bin]# kafka-console-consumer.sh --zookeeper mini1:2181 -from-beginning --topic orderMq
    hello tom
    hi jerry
    spring 
    hhaah
    xixi
    nini
    

    注:这里的生成和消费是同顺序的,但有时候是不会顺序一致的,只能保证消费一个partition里面的消息时是一致,消费多个partition(上面指定了消息被发送到了4个partition)里面的是不能保证顺序完全一致。

    6、查看某个topic的详情
    orderMq这个topic有用了三个partition(自己创建的时候指定的),各自有2个副本(也是自己创建的时候指定的)以及对于的leader(用处后面讲)。

    [root@mini2 bin]# ./kafka-topics.sh --topic orderMq --describe --zookeeper mini1:2181
    Topic:orderMq   PartitionCount:3        ReplicationFactor:2     Configs:
            Topic: orderMq  Partition: 0    Leader: 2       Replicas: 2,0   Isr: 0,2
            Topic: orderMq  Partition: 1    Leader: 0       Replicas: 0,1   Isr: 0,1
            Topic: orderMq  Partition: 2    Leader: 1       Replicas: 1,2   Isr: 1,2
    

    接下来再创建个topic并且查看详情(使用4个partition,两个副本),并且进入运行日志存放的路径查看

    [root@mini2 bin]# kafka-topics.sh --create --zookeeper mini1:2181 --replication-factor 2 --partitions 4 --topic payment
    Created topic "payment".
    [root@mini2 bin]# kafka-topics.sh --topic payment --describe --zookeeper mini1:2181
    Topic:payment   PartitionCount:4        ReplicationFactor:2     Configs:
            Topic: payment  Partition: 0    Leader: 2       Replicas: 2,1   Isr: 2,1
            Topic: payment  Partition: 1    Leader: 0       Replicas: 0,2   Isr: 0,2
            Topic: payment  Partition: 2    Leader: 1       Replicas: 1,0   Isr: 1,0
            Topic: payment  Partition: 3    Leader: 2       Replicas: 2,0   Isr: 2,0
    
    [root@mini1 kafka]# cd kafka-logs/
    [root@mini1 kafka-logs]# ll
    总用量 32
    -rw-r--r--. 1 root root    4 11月 21 22:34 cleaner-offset-checkpoint
    drwxr-xr-x. 2 root root 4096 11月 21 22:25 orderMq-0
    drwxr-xr-x. 2 root root 4096 11月 21 22:25 orderMq-1
    drwxr-xr-x. 2 root root 4096 11月 21 23:13 payment-1
    drwxr-xr-x. 2 root root 4096 11月 21 23:13 payment-2
    drwxr-xr-x. 2 root root 4096 11月 21 23:13 payment-3
    -rw-r--r--. 1 root root   64 11月 22 03:38 recovery-point-offset-checkpoint
    -rw-r--r--. 1 root root   64 11月 22 03:39 replication-offset-checkpoint
    [root@mini1 kafka-logs]# cd orderMq-1
    [root@mini1 orderMq-1]# ll
    总用量 4
    -rw-r--r--. 1 root root 10485760 11月 21 22:31 00000000000000000000.index
    -rw-r--r--. 1 root root      194 11月 21 22:39 00000000000000000000.log
    #00000000000000000000.log里面是发送的消息内容,乱码就没贴出来了。
    

    相关文章

      网友评论

          本文标题:Kafka的shell命令行操作

          本文链接:https://www.haomeiwen.com/subject/pidqaftx.html