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里面是发送的消息内容,乱码就没贴出来了。
网友评论