发布网友 发布时间:2024-09-27 02:28
共1个回答
热心网友 时间:2024-10-04 10:51
在 0.9.0.0 之后的 Kafka,出现了几个新变动,一个是在 Server 端增加了 GroupCoordinator 这个角色,另一个较大的变动是将 topic 的 offset 信息由之前存储在 zookeeper 上改为存储到一个特殊的 topic(__consumer_offsets)中
Kafka的启动后台常驻方式,带上参数 -daemon,如:
/kafka/bin/kafka-server-start.sh -daemon /kafka/config/server.properties指定 JMX port 端口启动,指定 jmx,可以方便监控 Kafka 集群
JMX_PORT=9991 /kafka/bin/kafka-server-start.sh -daemon /kafka/config/server.properties 停止Kafka/kafka/bin/kafka-server-stop.sh Topic[使用zk] --zookeeper localhost:2181
[使用内置] --bootstrap-server localhost:9092
1. 创建 Topic官方推荐如果kafka版本大于等于2.2使用--bootstrap-server替代--zookeeper (2.2以上也兼容--zookeeper)命令如下
kafka-topics.sh --create --bootstrap-server localhost:9092 --replication-factor 1 --partitions 1 --topic mytest如果kafka版本小于2.2则命令如下
kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic mytest参数解释1.指定kafka集群(2.2以上)或zookeeper集群
--bootstrap-server node1:9092,node2:9092,node3:9092....或
--zookeeper node1:2181,node2:2181,node3:2181...2.指定分区数
--partitions3.指定分区的副本数
--replication-factor所以执行上面命令将会创建一个名为mytest的topic,该topic下面有1个分区,并且该分区只有1个副本
2. 列出所有Topickafka-topics.sh --list --bootstrap-server localhost:90923.查看指定TopicJMX_PORT=9991 /kafka/bin/kafka-server-start.sh -daemon /kafka/config/server.properties0JMX_PORT=9991 /kafka/bin/kafka-server-start.sh -daemon /kafka/config/server.properties14.增加Topic的partition数kafka-topics.sh --bootstrap-server localhost:9092 --alter --topic mytest --partitions 55.查看 topic 指定分区 offset 的最大值或最小值time 为 -1 时表示最大值,为 -2 时表示最小值:
kafka-run-class.sh kafka.tools.GetOffsetShell --topic mytest --time -1 --broker-list 127.0.0.1:9092 --partitions 0 6.删除TopicJMX_PORT=9991 /kafka/bin/kafka-server-start.sh -daemon /kafka/config/server.properties4 生产消息JMX_PORT=9991 /kafka/bin/kafka-server-start.sh -daemon /kafka/config/server.properties5 消费消息1.从头开始JMX_PORT=9991 /kafka/bin/kafka-server-start.sh -daemon /kafka/config/server.properties6 2.从尾部开始从尾部开始取数据,必需要指定分区:
JMX_PORT=9991 /kafka/bin/kafka-server-start.sh -daemon /kafka/config/server.properties7 3.指定分区JMX_PORT=9991 /kafka/bin/kafka-server-start.sh -daemon /kafka/config/server.properties7 4.取指定个数JMX_PORT=9991 /kafka/bin/kafka-server-start.sh -daemon /kafka/config/server.properties7 --max-messages 1 消费者Group1.指定Group/kafka/bin/kafka-server-stop.sh0 2.消费者Group列表/kafka/bin/kafka-server-stop.sh1 3.查看Group详情[用来判断是否有延迟数据]/kafka/bin/kafka-server-stop.sh2输出
/kafka/bin/kafka-server-stop.sh3TOPIC ? ? ? ? ? PARTITION ?CURRENT-OFFSET ?LOG-END-OFFSET ?LAG ? ? ? ? ? ? CONSUMER-ID ? ? HOST ? ? ? ? ? ?CLIENT-ID test ? ? ? ? ? ?0 ? ? ? ? ?5 ? ? ? ? ? ? ? 5 ? ? ? ? ? ? ? 0 ? ? ? ? ? ? ? - ? ? ? ? ? ? ? - ? ? ? ? ? ? ? -
CURRENT-OFFSET: 当前消费者群组最近提交的 offset,也就是消费者分区里读取的当前位置LOG-END-OFFSET: 当前最高水位偏移量,也就是最近一个读取消息的偏移量,同时也是最近一个提交到集群的偏移量LAG:消费者的 CURRENT-OFFSET 与 broker 的 LOG-END-OFFSET 之间的差距/kafka/bin/kafka-server-stop.sh4kafka-consumer-groups.sh --bootstrap-server localhost:9092 --group test_group --delete
/kafka/bin/kafka-server-stop.sh5kafka-preferred-replica-election.sh --bootstrap-server localhost:9092 或 kafka-leader-election.sh --bootstrap-server localhost:9092 --topic test --partition=2 --election-type preferred --partition:指定需要重新分配leader的partition编号
/kafka/bin/kafka-server-stop.sh6kafka-producer-perf-test.sh --topic test --num-records 100 --record-size 1 --throughput 100 --producer-props bootstrap.servers=localhost:9092
/kafka/bin/kafka-server-stop.sh7原文:https://juejin.cn/post/7097165751890477087