Это исключение, которое я получил при попытке отправить сообщение в своей теме в слитном облаке
Caused by: org.apache.kafka.common.KafkaException: Failed to create new NetworkClient
at org.apache.kafka.clients.ClientUtils.createNetworkClient(ClientUtils.java:252)
at org.apache.kafka.clients.ClientUtils.createNetworkClient(ClientUtils.java:162)
at org.apache.kafka.clients.producer.KafkaProducer.newSender(KafkaProducer.java:523)
at org.apache.kafka.clients.producer.KafkaProducer.(KafkaProducer.java:462)
... 177 common frames omitted
Caused by: java.lang.IllegalArgumentException: Could not find a 'KafkaClient' entry in the JAAS configuration. System property 'java.security.auth.login.config' is not set
at org.apache.kafka.common.security.JaasContext.defaultContext(JaasContext.java:150)
at org.apache.kafka.common.security.JaasContext.load(JaasContext.java:103)
at org.apache.kafka.common.security.JaasContext.loadClientContext(JaasContext.java:87)
at org.apache.kafka.common.network.ChannelBuilders.create(ChannelBuilders.java:167)
at org.apache.kafka.common.network.ChannelBuilders.clientChannelBuilder(ChannelBuilders.java:81)
at org.apache.kafka.clients.ClientUtils.createChannelBuilder(ClientUtils.java:119)
at org.apache.kafka.clients.ClientUtils.createNetworkClient(ClientUtils.java:223)
... 180 common frames omitted
Проблема в том, что я думаю, что настроил безопасность нормально, но всегда получаю это исключение при отправке сообщения.
Это как мне настроить конфигурацию для подключения к слитному облаку
spring:
kafka:
bootstrap-servers: ${address-server}
producer:
key-serializer: org.apache.kafka.common.serialization.StringSerializer
value-serializer: io.confluent.kafka.serializers.KafkaAvroSerializer
properties:
specific.avro.reader: true
auto.register.schemas: false
basic.auth.credentials.source: USER_INFO
basic.auth.user.info: ${api-key}:${api-key-secret}
schema:
registry:
url: ${address-schema-registry}
sasl:
jaas:
config: org.apache.kafka.common.security.plain.PlainLoginModule required username='api-client-id' password='api-client-secret';
mechanism: PLAIN
security:
protocol: SASL_SSL
ssl:
endpoint:
identification:
algorithm: https
все переменные верны. но когда я пытаюсь отправить сообщение в теме, я получаю сообщение об ошибке.
В моем классе конфигурации у меня есть эти методы для работы с моим производителем
@Bean
public ProducerFactory producerFactory() {
return new DefaultKafkaProducerFactory(producerConfig());
}
@Bean
public Map producerConfig() {
Map configProps = new HashMap();
configProps.put(ProducerConfig.BOOTSTRAP_SERVERS_CONFIG, bootstrapServers);
configProps.put(ProducerConfig.KEY_SERIALIZER_CLASS_CONFIG, StringSerializer.class);
configProps.put(ProducerConfig.VALUE_SERIALIZER_CLASS_CONFIG, io.confluent.kafka.serializers.KafkaAvroSerializer.class);
configProps.put(CommonClientConfigs.SECURITY_PROTOCOL_CONFIG, kafkaSecurityProtocol);
configProps.put("schema.registry.url", schemaRegistryUrl);
return configProps;
}
Шаблон Kafka
@Bean
public KafkaTemplate kafkaTemplate(CustomProducerListener listener) {
KafkaTemplate kafkaTemplate = new KafkaTemplate(producerFactory());
kafkaTemplate.setProducerListener(listener);
return kafkaTemplate;
}
Подробнее здесь: https://stackoverflow.com/questions/792 ... figuration
Как исправить: Не удалось найти запись «KafkaClient» в конфигурации JAAS? ⇐ JAVA
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Что не так с моим конфигурационным файлом JAAS – пользовательский класс не используется
Anonymous » » в форуме JAVA - 0 Ответы
- 21 Просмотры
-
Последнее сообщение Anonymous
-