概要描述
目前,TDH中的kafka和开源kafka的版本对应关系如下所示:
TDH 版本 | 开源版本 |
---|---|
<= transwarp-6.2 | 0.10.2 |
>=transwarp-7.0, <=transwarp-8.1 | 2.3.0 |
>=transwarp-9.0 | 2.7.0 |
各个版本使用脚本命令的方式也略有区别,本文将各版本的客户端常用脚本命令使用汇总如下,主要以开启kerberos安全的访问为主。
详细说明
客户端环境
1、下载并安装 TDH Client:
tdh-client的使用方法
2、执行 TDH Client 的 init.sh 脚本,启动 TDH Client :
source {TDH_Client_install_dir}/init.sh
3、cd {TDH_Client_install_dir}/kafka/bin/
后续脚本命令均在此客户端目录下执行,此步骤所有版本均一致,后面不再赘述。
622及以下版本(开源版本0.10.2)
开启kerberos安全
开启kerberos安全的情况下,需要先export 定义KAFKA_OPTS 安全的配置
export KAFKA_OPTS="-Djava.security.auth.login.config=/etc/kafka1/conf/jaas.conf -Djava.security.krb5.conf=/etc/kafka1/conf/krb5.conf"
配置文件中添加安全属性
{TDH_Client_install_dir}/kafka/config/producer.properties和consumer.properties文件末尾添加如下内容:
security.protocol=SASL_PLAINTEXT
sasl.mechanism=GSSAPI
sasl.kerberos.service.name=kafka
创建topic
./kafka-broker-topics.sh --bootstrap-server 172.22.32.11:9092 --create --topic demo1 --partitions 1 --replication-factor 3 --consumer.config /root/TDH-Client/kafka/config/consumer.properties
不开安全的情况下,也可以用如下这种方式创建;
./kafka-topics.sh --zookeeper 172.22.32.13:2181 --create --topic demo1 --partitions 1 --replication-factor 3
需要注意的是:
kafka-broker-topics.sh脚本创建topic是Kafka安全组新增的一种方式,指定的bootstrap-server需要是controller;
开安全的情况下,kafka-topics.sh也可以创建成功,且无需指定config文件(622以下版本,kafka-topics.sh没有–command-config参数),该脚本是沿袭开源的创建方式,但是创建的topic容易发生生产消费异常;
所以在开启kerberos的情况下,还是需要使用kafka-broker-topics.sh脚本。
查看topic列表
./kafka-topics.sh --list --zookeeper 172.22.32.11:2181, 172.22.32.12:2181, 172.22.32.13:2181
查看topic信息
./kafka-topics.sh --describe --topic demo1 --zookeeper 172.22.32.11:2181
生产数据
./kafka-console-producer.sh --broker-list 172.22.32.11:9092, 172.22.32.12:9092, 172.22.32.13:9092 --topic demo1 --producer.config /root/TDH-Client/kafka/config/producer.properties
消费数据
./kafka-console-consumer.sh --bootstrap-server 172.22.32.11:9092, 172.22.32.12:9092, 172.22.32.13:9092 --topic demo1 --consumer.config /root/TDH-Client/kafka/config/consumer.properties
查看消费者组列表
./kafka-consumer-groups.sh --list --bootstrap-server 172.22.32.11:9092 --command-config /root/TDH-Client/kafka/config/consumer.properties
查看消费者组详情
./kafka-consumer-groups.sh --describe --group xltest --bootstrap-server 172.22.32.11:9092 --command-config /root/TDH-Client/kafka/config/consumer.properties
删除topic
./kafka-broker-topics.sh --bootstrap-server 172.22.32.11:9092 --delete --topic demo1 --consumer.config /root/TDH-Client/kafka/config/consumer.properties
7.0-8.1版本(开源版本2.3.0)
开启kerberos安全
开启kerberos安全的情况下,需要先export 定义KAFKA_OPTS 安全的配置
export KAFKA_OPTS="-Djava.security.auth.login.config=/etc/kafka1/conf/jaas.conf -Djava.security.krb5.conf=/etc/kafka1/conf/krb5.conf"
在{TDH_Client_install_dir}/kafka/config/ 目录下新建文件security-client.properties,添加以下配置:
security.protocol=SASL_PLAINTEXT
sasl.mechanism=GSSAPI
sasl.kerberos.service.name=kafka
或者沿袭上述6.2.2的方式,引用producer.properties和consumer.properties,在文件末尾添加安全认证配置。
创建topic
7.0 以上版本使用kafka-topics.sh脚本创建管理topic,需要指定broker节点,即–bootstrap-server
./kafka-topics.sh --bootstrap-server 172.22.32.11:9092 --create --topic demo1 --replication-factor 2 --partitions 4 --command-config /root/TDH-Client/kafka/config/security-client.properties
查看topic列表
./kafka-topics.sh --list --bootstrap-server 172.22.32.11:9092
查看topic信息
./kafka-topics.sh --describe --topic demo1 --bootstrap-server 172.22.32.11:9092
生产数据
./kafka-console-producer.sh --broker-list 172.22.32.11:9092 --topic demo1 --producer.config /root/TDH-Client/kafka/config/security-client.properties
消费数据
./kafka-console-consumer.sh --bootstrap-server 172.22.32.11:9092 --topic demo1 --consumer.config /root/TDH-Client/kafka/config/security-client.properties
查看消费者组列表
./kafka-consumer-groups.sh --list --bootstrap-server 172.22.32.11:9092 --command-config /root/TDH-Client/kafka/config/consumer.properties
查看消费者组详情
./kafka-consumer-groups.sh --bootstrap-server 172.22.32.11:9092 --group xltest --describe --command-config /root/TDH-Client/kafka/config/security-client.properties
删除topic
./kafka-broker-topics.sh --bootstrap-server 172.22.32.11:9092 --delete --topic demo1 --command-config /root/TDH-Client/kafka/config/security-client.properties
9.0以上版本(开源版本2.7.0)
开启kerberos安全
开启kerberos安全的情况下,需要先export 定义KAFKA_OPTS 安全的配置,注意 8.0 以上版本的服务名和配置目录应该为 eventstore1:
export KAFKA_OPTS="-Djava.security.auth.login.config=/etc/eventstore1/conf/jaas.conf -Djava.security.krb5.conf=/etc/eventstore1/conf/krb5.conf"
在{TDH_Client_install_dir}/kafka/config/ 目录下新建文件security-client.properties,添加以下配置(9.X版本自带security-client.properties):
security.protocol=SASL_PLAINTEXT
sasl.mechanism=GSSAPI
sasl.kerberos.service.name=kafka
或者沿袭上述6.2.2的方式,直接引用producer.properties和consumer.properties,在文件末尾添加安全认证配置。
脚本命令使用和TDH 7.0以后保持一致。
创建topic
./kafka-topics.sh --bootstrap-server 172.22.32.11:9092 --create --topic demo1 --replication-factor 2 --partitions 4 --command-config /root/TDH-Client/kafka/config/security-client.properties
查看topic列表
./kafka-topics.sh --list --bootstrap-server 172.22.32.11:9092 --command-config /root/TDH-Client/kafka/config/security-client.properties
查看topic信息
./kafka-topics.sh --describe --topic demo1 --bootstrap-server 172.22.32.11:9092 --command-config /root/TDH-Client/kafka/config/security-client.properties
生产数据
./kafka-console-producer.sh --broker-list 172.22.32.11:9092 --topic demo1 --producer.config /root/TDH-Client/kafka/config/security-client.properties
消费数据
./kafka-console-consumer.sh --bootstrap-server 172.22.32.11:9092 --topic demo1 --consumer.config /root/TDH-Client/kafka/config/security-client.properties
查看消费者组列表
./kafka-consumer-groups.sh --list --bootstrap-server 172.22.32.11:9092 --command-config /root/TDH-Client/kafka/config/security-client.properties
查看消费者组详情
./kafka-consumer-groups.sh --bootstrap-server 172.22.32.11:9092 --group xltest --describe --command-config /root/TDH-Client/kafka/config/security-client.properties
删除topic
./kafka-broker-topics.sh --bootstrap-server 172.22.32.11:9092 --delete --topic demo1 --command-config /root/TDH-Client/kafka/config/security-client.properties