1. 程式人生 > >Kafka整合Kerberos之後如何使用生產者消費者命令

Kafka整合Kerberos之後如何使用生產者消費者命令

前提:

1、kafka版本1.0.1
2、在linux中使用kinit重新整理kerberos認證資訊/在配置檔案中配置keytab路徑和票據

1、生產者

1.1、準備jaas.conf並新增到環境變數(使用以下方式的其中一種)

1.1.1、使用Kinit方式

前提是手動kinit

配置內容為:

KafkaClient {
com.sun.security.auth.module.Krb5LoginModule required
useTicketCache=true
renewTicket=true
serviceName="kafka";
};

1.1.2、使用指定keytab和票據的方式

準備好你的keytab檔案

配置內容為:

KafkaClient {
   com.sun.security.auth.module.Krb5LoginModule required
   useKeyTab=true
   keyTab="/usr/keytab/xiet.keytab"
   principal="[email protected]";
};

* 新增到環境變數:

export KAFKA_OPTS="-Djava.security.auth.login.config=/home/xxx/jaas.conf"

2、執行命令

 

kafka-console-producer --broker-list xxx:9092,yyy:9092 --topic sparktest 
--security-protocol SASL_PLAINTEXT

或者使用配置檔案的方式

producer.properties

security.protocol=SASL_PLAINTEXT
sasl.mechanism=GSSAPI
sasl.kerberos.service.name=kafka

kafka-console-producer --broker-list 10.211.55.5:9093 --topic test --producer.config
config/producer.properties

2、消費者

2.1、準備jaas.conf並新增到環境變數

內容同1.1節

2.2、準備consumer.properties

檔案內容為:

security.protocol=SASL_PLAINTEXT
sasl.mechanism=GSSAPI
sasl.kerberos.service.name=kafka
group.id=test-consumer-group

 

2.3、執行命令

kafka-console-consumer --bootstrap-server xxx:9092,yyy:9092 --topic sparktest 
--from-beginning --consumer.config ./consumer.properties