topic命令行操作
查看操作topic的命令参数
cd /root/app/kafka/bin
./kafka-topics.sh
参数 | 描述 |
---|---|
–bootstrap-server <String: server toconnect to> | 连接的 Kafka Broker 主机名称和端口号 |
–topic <String: topic> | 操作的 topic 名称 |
–create | 创建主题 |
–delete | 删除主题 |
–alter | 修改主题 |
–list | 查看所有主题 |
–describe | 查看主题详细描述 |
–partitions <Integer: # of partitions> | 设置分区数 |
–replication-factor<Integer: replication factor> | 设置分区副本 |
–config <String: name=value> | 更新系统默认的配置 |
查看当前服务器中的所有 topic
cd /root/app/kafka/bin
./kafka-topics.sh --bootstrap-server host5:9092 --list
因为还没有添加topic我们这里的查询结果是空的
创建一个topic
创建一个名为hello的topic
因为我已经把kafka的bin目录放入环境变量了,后面关于kafka的命令我就不在cd 到kafka/bin去执行了
kafka-topics.sh --bootstrap-server host5:9092 --create --partitions 1 --replication-factor 3 --topic hello
选项说明:
–topic 定义 topic 名
–replication-factor 定义副本数
–partitions 定义分区数
查看topic的详情
kafka-topics.sh --bootstrap-server host5:9092 --describe --topic hello
修改分区数 (注意:分区数只能增加,不能减少)
kafka-topics.sh --bootstrap-server host5:9092 --alter --topic hello --partitions 3
对比分 partitions 1 和 partitions 3
删除topic
kafka-topics.sh --bootstrap-server host5:9092 --delete --topic hello
再次查看所有topic
kafka-topics.sh --bootstrap-server host5:9092 --list
生产者命令行操作
查看操作生产者命令参数
kafka-console-producer.sh
主要参数
参数 | 描述 |
---|---|
–bootstrap-server <String: server toconnect to> | 连接的 Kafka Broker 主机名称和端口号 |
–topic <String: topic> | 操作的 topic 名称 |
发送消息
kafka-console-producer.sh --bootstrap-server host5:9092 --topic hello
输入发送消息命令会进入交互模式
继续输入发送消息
hello world
hello kafka
消费者命令行操作
查看操作消费者命令参数
kafka-console-consumer.sh
主要参数
参数 | 描述 |
---|---|
–bootstrap-server <String: server toconnect to> | 连接的 Kafka Broker 主机名称和端口号 |
–topic <String: topic> | 操作的 topic 名称 |
–from-beginning | 从头开始消费 |
–group <String: consumer group id> | 指定消费者组名称 |
消费消息
消费 hello topic中的数据。
kafka-console-consumer.sh --bootstrap-server host5:9092 --topic hello
这种方式只有打开消费者客户端,生产者发消息才会被实时接收到
读取topic中的所有数据(包括历史数据)。
kafka-console-consumer.sh --bootstrap-server host5:9092 --from-begi nning --topic hello
评论区