技术专栏:github.com/yongxinz/te…git
同时,也欢迎关注个人微信公众号 AlwaysBeta,更多精彩内容等你来。github
在 0.9.0.0 以后的 Kafka,出现了几个新变更,一个是在 Server 端增长了 GroupCoordinator 这个角色,另外一个较大的变更是将 topic 的 offset 信息由以前存储在 zookeeper 上改成存储到一个特殊的 topic(__consumer_offsets)中。bootstrap
本文测试版本:kafka_2.11-2.2.0bash
后台常驻方式,带上参数 -daemon
,如:微信
/usr/local/kafka/bin/kafka-server-start.sh -daemon /usr/local/kafka/config/server.properties 复制代码
指定 JMX port 端口启动,指定 jmx,能够方便监控 Kafka 集群markdown
JMX_PORT=9991 /usr/local/kafka/bin/kafka-server-start.sh -daemon /usr/local/kafka/config/server.properties 复制代码
/usr/local/kafka/bin/kafka-server-stop.sh 复制代码
参数 --topic
指定 Topic 名,--partitions
指定分区数,--replication-factor
指定备份数:工具
/usr/local/kafka/bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test 复制代码
注意,若是配置文件 server.properties 指定了 Kafka 在 zookeeper 上的目录,则参数也要指定,不然会报无可用的 brokers(下面部分命令也有一样的状况),如:oop
/usr/local/kafka/bin/kafka-topics.sh --create --zookeeper localhost:2181/kafka --replication-factor 1 --partitions 1 --topic test 复制代码
/usr/local/kafka/bin/kafka-topics.sh --list --zookeeper localhost:2181 复制代码
/usr/local/kafka/bin/kafka-topics.sh --describe --zookeeper localhost:2181 --topic test 复制代码
/usr/local/kafka/bin/kafka-topics.sh --zookeeper localhost:2181 --alter --topic test --partitions 5 复制代码
time 为 -1 时表示最大值,为 -2 时表示最小值:测试
/usr/local/kafka/bin/kafka-run-class.sh kafka.tools.GetOffsetShell --topic test --time -1 --broker-list 127.0.0.1:9092 --partitions 0 复制代码
/usr/local/kafka/bin/kafka-topics.sh --zookeeper localhost:2181 --topic test --delete 复制代码
/usr/local/kafka/bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test 复制代码
/usr/local/kafka/bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning 复制代码
从尾部开始取数据,必须要指定分区:spa
/usr/local/kafka/bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --offset latest --partition 0 复制代码
/usr/local/kafka/bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --offset latest --partition 0 复制代码
/usr/local/kafka/bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --offset latest --partition 0 --max-messages 1 复制代码
/usr/local/kafka/bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test -group test_group --from-beginning 复制代码
/usr/local/kafka/bin/kafka-consumer-groups.sh --bootstrap-server localhost:9092 --list 复制代码
/usr/local/kafka/bin/kafka-consumer-groups.sh --bootstrap-server localhost:9092 --group test_group --describe 复制代码
输出:
Consumer group 'test_group' has no active members. TOPIC 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 之间的差距 复制代码
/usr/local/kafka/bin/kafka-consumer-groups.sh --bootstrap-server localhost:9092 --group test_group --topic test --delete 复制代码
/usr/local/kafka/bin/kafka-consumer-groups.sh --bootstrap-server localhost:9092 --group test_group --delete 复制代码
/usr/local/kafka/bin/kafka-preferred-replica-election.sh --bootstrap-server localhost:9092 复制代码
/usr/local/kafka/bin/kafka-producer-perf-test.sh --topic test --num-records 100 --record-size 1 --throughput 100 --producer-props bootstrap.servers=localhost:9092 复制代码
专栏地址: github.com/yongxinz/te…