Как настроить аутентификацию клиента с помощью Beam KafkaIO - PullRequest
0 голосов
/ 14 февраля 2019

Я изучал руководства Beam KafkaIO и пытался найти документацию по аутентификации клиента kafka, но пока нашел только самые простые примеры.Мне нужно предоставить следующую конфигурацию для успешной аутентификации клиента Kafkaio:

bootstrap.servers=kafka1:9093
security.protocol=SSL
ssl.truststore.location=/var/private/ssl/kafka.client.truststore.jks
ssl.truststore.password=test1234
ssl.keystore.location=/var/private/ssl/kafka.client.keystore.jks
ssl.keystore.password=test1234
ssl.key.password=test1234

Как мне указать эту конфигурацию?

Пока все, что я нашел в примерах, это настроить следующим образом:

p.apply(KafkaIO.<Long, String>read()
.withBootstrapServers("kafka1:9022")
.withTopic("test-topic")
.withKeyDeserializer(LongDeserializer.class)
.withValueDeserializer(StringDeserializer.class)

1 Ответ

0 голосов
/ 14 февраля 2019

Вы можете установить конфигурацию ssl, используя метод updateConsumerProperties(properties).
Для этого вам нужно установить следующие потребительские свойства.

Properties props = new Properties();
props.put(CommonClientConfigs.SECURITY_PROTOCOL_CONFIG, "SSL");
props.put(SslConfigs.SSL_TRUSTSTORE_LOCATION_CONFIG, "/var/private/ssl/kafka.client.truststore.jks");    
props.put(SslConfigs.SSL_KEYSTORE_LOCATION_CONFIG, resourcePath.get("keystore.jks"));
props.put(SslConfigs.SSL_TRUSTSTORE_PASSWORD_CONFIG,  "test1234");
props.put(SslConfigs.SSL_KEY_PASSWORD_CONFIG,  "test1234"); 
props.put(SslConfigs.SSL_KEYSTORE_PASSWORD_CONFIG,  "test1234");

Передайте вышеуказанные свойства в методе, как указано ниже:

p.apply(KafkaIO.<Long, String>read()
.withBootstrapServers("kafka1:9022")
.withTopic("test-topic")
.withKeyDeserializer(LongDeserializer.class)
.withValueDeserializer(StringDeserializer.class)
.updateConsumerProperties(props)

Здесь вы можете найти больше документации о том, как установить пользовательские свойства в KafkaIO: https://beam.apache.org/releases/javadoc/2.5.0/org/apache/beam/sdk/io/kafka/KafkaIO.html

...