1. 创建主题,例如test
./bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test
-
zookeeper : zookeeper集群列表,用英文逗号分隔。可以不用指定zookeeper整个集群内的节点列表, 只指定某个或某几个zookeeper节点列表也是可以的
-
replication-factor : 复制数目,提供failover机制;1代表只在一个broker上有数据记录,
一般值都大于1,代表一份数据会自动同步到其他的多个broker,防止某个broker宕机后数据丢失。 -
partitions : 一个topic可以被切分成多个partitions,一个消费者可以消费多个partitions,
但一个partitions只能被一个消费者消费,所以增加partitions可以增加消费者的吞吐量。
kafka只保证一个partitions内的消息是有序的,多个一个partitions之间的数据是无序的
2. 查看主题,校验Topic是否创建成功
#查看所有,校验Topic是否创建成功
./bin/kafka-topics.sh --list --zookeeper localhost:2181
#查看test
./bin/kafka-topics.sh --describe --zookeeper localhost:2181 --topic test
3. 启动一个Producer并发送消息, 默认情况下,每行会单独算作一次消息发出。
./bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test
#Kafka只可以发送string.integer ,测试数据需要转换为string,
[{"ciCode":"1001","metric":"cpu","value":"22","unit":"%","timestamp":"1231231231331"}]
4. 启动一个Consumer并接受消息
./bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning