常用命令
1 | # 创建主题 |
1 | # 列出topic |
1 | # 发送消息(通过console) |
1 | # 生产者压测-批量创建消息 |
问题1:producer通过 --broker-list localhost:9092
或 --bootstrap-server 127.0.0.1:9092
连接broker失败,而不使用localhost、127.0.0.1改用broker节点IP则可以,是否是配置错了?
1 | [root@kafka-1 kafka_2.12-2.8.0]# bin/kafka-console-producer.sh --topic test --bootstrap-server 127.0.0.1:9092 |
首先,--broker-list
选项是过时的,不建议继续使用。consumer无此选项。
1 | [root@kafka-1 kafka_2.12-2.8.0]# bin/kafka-console-producer.sh --help |
server.properties
配置如下:
1 | ############################# Socket Server Settings ############################# |
因此,是listeners 和advertised.listeners配置的问题,能使用已注册到zookeeper的地址。按默认配置的话,可以使用localhost或127.0.0.1,不指定具体IP的话,在客户端代码中通过API去连接Kafka就会报错,因为没有获取到服务端的IP,只能从服务器使用localhost连接。
问题2::pssh执行 bin/kafka-server-stop.sh
未能停止Kafka?
查看stop脚本:
1 | OSNAME=$(uname -s) |
脚本手动执行获取PID没问题,可能是环境变量的原因,source后执行了一次正常停止了。但start时却不需要source。
1 | [root@localhost zlz]# pssh -h kafka.ips -i "cd /opt/kafka/kafka_2.12-2.8.0; source ~/.bashrc; sh run-kafka.sh stop" |
再恢复重试时不加source也能正常停止了。最后发现命令没问题,不需要source。pssh 批量停止Kafka server时,不会马上停止,是陆续停止的,可能有几秒的延迟。即便在各server上手动执行stop,也是如此。
因此没问题。
问题3:advertised.listeners和listeners配置都注释掉,Kafka server不能按默认localhost:9092启动?
仅放开listeners=PLAINTEXT://:9092
也不行。经测设置 listeners=PLAINTEXT://localhost:9092
可以启动,但是producer或consumer连接时会报错。
如果继续设置 advertised.listeners=PLAINTEXT://localhost:9092
的话,就又会无法启动server了!
可能需要集群状态数据吧,按localhost连接没试成,不折腾了,改回配置IP加端口的方式。
性能测试
生产者性能测试
1 | [root@kafka-1 kafka_2.12-2.8.0]# bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 2 --partitions 2 --topic topic-2 |
消费者性能测试
1 | [root@kafka-1 kafka_2.12-2.8.0]# bin/kafka-consumer-perf-test.sh --bootstrap-server 192.168.19.208:9092 --topic topic-2 --messages 10000 |
结果如下:
分区数(副本因子=2) | 生产速度(第二次测试) | 生产速度 | 消费速度 |
---|---|---|---|
2 | 9.53 MB/sec | 6.90 MB/sec | 41.21 MB/sec |
4 | 8.74 MB/sec | 5.92 MB/sec | 35.03 MB/sec |
8 | 8.99 MB/sec | 7.59 MB/sec | 39.23 MB/sec |
16 | 11.37 MB/sec | 8.43 MB/sec | 46.81 MB/sec |
32 | 12.19 MB/sec | 10.34 MB/sec | 43.03 MB/sec |
64 | 10.90 MB/sec | 5.48 MB/sec | 38.90 MB/sec |