内容纲要
概要描述
TDC3.x及以下版本会存在svc、端口等信息,和TDH使用略微不同。
本篇主要适用于没有部署TDC-Client 的情况下kafka相关的执行命令。
测试背景:TDC 3.2.0,eventstore 9.3
详细说明
确定当前kafka集群controller
进入对应租户的zookeeper pod连接zk客户端
/usr/lib/zookeeper/bin/zkCli.sh
查询controller
get /controller
根据brokerid查询对应节点信息
get /brokers/ids/{brokerid}

开启kerberos安全
开启kerberos安全的情况下,需要先export 定义KAFKA_OPTS 安全的配置,与TDH集群略微不同,需要带上zookeeper.server.principal认证信息,该信息可以查询/etc/keytabs/keytab 确认
export KAFKA_OPTS="-Djava.security.auth.login.config=/etc/eventstore/conf/jaas.conf -Djava.security.krb5.conf=/etc/krb5.conf -Dzookeeper.server.principal=zookeeper/tos_tos"

创建安全配置文件
创建/etc/evenstore/conf/security-client.properties
security.protocol=SASL_PLAINTEXT
sasl.mechanism=GSSAPI
sasl.kerberos.service.name=kafka
sasl.kerberos.service.principal.instance=tos_fzd
注意,里面instance改为对应租户名,tos_租户。
确定对应端口信息
可以在之前确定controller里面看到svc端口信息,记录下来后续topic相关命令会使用

这两个都是等同的,都可以使用。
1.创建topic
./kafka-topics.sh --bootstrap-server 172.22.28.23:30393 --create --topic test1 --replication-factor 2 --partitions 4 --command-config /etc/eventstore/conf/security-client.properties

2.查看topic
./kafka-topics.sh --list --bootstrap-server 172.22.28.23:30393 --command-config /etc/eventstore/conf/security-client.properties

3.写入数据
./kafka-console-producer.sh --broker-list eventstore-ql4l9-2.eventstore-ql4l9.fzd.svc:9093 --topic test1 --producer.config /etc/eventstore/conf/producer.properties

4.消费数据
./kafka-console-consumer.sh --bootstrap-server 172.22.28.23:30393 --topic test1 --consumer.config /etc/eventstore/conf/consumer.properties --from-beginning

5.查看消费者组
./kafka-consumer-groups.sh --bootstrap-server 172.22.28.23:30393 --list --command-config /etc/eventstore/conf/security-client.properties

注意:这个测试场景因为没有指定消费者组,所以消费者组名字应该是规则拼接。大多数业务场景会提前指定消费者组。
6.查看消费者组消费情况
./kafka-consumer-groups.sh --describe --group console-consumer-20548 --bootstrap-server 172.22.28.23:30393 --command-config /etc/eventstore/conf/security-client.properties

其他信息
不同版本kafka命令参考文档:TDH各版本Kafka客户端常用脚本命令使用