Kafka常用命令:
查看所有topic
/unios/kafka/bin/kafka-topics.sh --describe --bootstrap-server localhost:9092
查看某个topic
/unios/kafka/bin/kafka-topics.sh --describe --bootstrap-server localhost:9092 --topic fperfala
创建topic
/unios/kafka/bin/kafka-topics.sh --create --bootstrap-server localhost:9092 --replication-factor 1 --partitions 3 --topic fperfala
删除topic
/unios/kafka/bin/kafka-topics.sh --delete --topic fperfala --bootstrap-server localhost:9092
生产
/unios/kafka/bin/kafka-console-producer.sh --bootstrap-server localhost:9092 --topic fperfala
消费
/unios/kafka/bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic fperfala --from-beginning
什么是kafka
Kafka是一个分布式流媒体平台,它是一种高吞吐量、持久性、分布式的发布订阅的消息队列系统。它最初由LinkedIn公司发布,使用Scala语言编写,于2010年12月份开源,成为Apache的顶级子项目。它主要用于处理消费者规模网站中的所有动作流数据¹。
Kafka常见的用途包括日志收集、消息系统、用户活动跟踪、运营指标、流式处理和事件源等¹。
在Kafka中,消息以键值对(key-value)的形式存储,并附带一个时间戳。例如,假设我们有一个名为“temperature”的主题,用于存储不同城市的温度数据。我们可以将城市名称作为键,温度值作为值,将数据存储在Kafka中。例如:
```
key: "Beijing", value: "25"
key: "Shanghai", value: "22"
key: "Guangzhou", value: "28"
```
这样,消费者就可以从Kafka中获取不同城市的温度数据。
kafka键值对的写入
如果你想在“temperature”主题中写入键值对,可以使用kafka-console-producer.sh工具。打开终端,进入Kafka的bin目录,执行以下命令:
```
./kafka-console-producer.sh --broker-list localhost:9092 --topic temperature --property parse.key=true --property key.separator=:
```
然后,你可以在终端中输入键值对,每行一个,键和值之间用冒号分隔。例如:
```
Beijing:25
Shanghai:22
Guangzhou:28
```
输入完毕后,按`Ctrl+D`结束输入。这样,你就将这些键值对写入了“temperature”主题中。
如果你在使用kafka-console-producer.sh工具输入键值对时按`Ctrl+C`退出,那么你已经输入的键值对将会被保存到Kafka中。你可以使用kafka-console-consumer.sh工具来验证这一点。例如,运行以下命令:
```
./kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic temperature --property print.key=true --from-beginning
```
这样,你将会看到“temperature”主题中所有的键值对,包括你刚才输入的键值对。
zxa20230423