Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- "org.apache.kafka.common.errors.SaslAuthenticationException: An error: (java.security.PrivilegedActionException: javax.security.sasl.SaslException: User name could not be obtained [Caused by javax.security.auth.callback.UnsupportedCallbackException: Unrecognized SASL ClientCallback]) occurred when evaluating SASL token received from the Kafka Broker. Kafka Client will go to AUTHENTICATION_FAILED state.
- Caused by: javax.security.sasl.SaslException: User name could not be obtained
- at org.apache.kafka.common.security.scram.ScramSaslClient.evaluateChallenge(ScramSaslClient.java:105)
- at org.apache.kafka.common.security.authenticator.SaslClientAuthenticator$2.run(SaslClientAuthenticator.java:361)
- at org.apache.kafka.common.security.authenticator.SaslClientAuthenticator$2.run(SaslClientAuthenticator.java:359)
- at java.security.AccessController.doPrivileged(Native Method)
- at javax.security.auth.Subject.doAs(Subject.java:422)
- at org.apache.kafka.common.security.authenticator.SaslClientAuthenticator.createSaslToken(SaslClientAuthenticator.java:359)
- at org.apache.kafka.common.security.authenticator.SaslClientAuthenticator.sendSaslClientToken(SaslClientAuthenticator.java:269)
- at org.apache.kafka.common.security.authenticator.SaslClientAuthenticator.authenticate(SaslClientAuthenticator.java:206)
- at org.apache.kafka.common.network.KafkaChannel.prepare(KafkaChannel.java:81)
- at org.apache.kafka.common.network.Selector.pollSelectionKeys(Selector.java:486)
- at org.apache.kafka.common.network.Selector.poll(Selector.java:424)
- at org.apache.kafka.clients.NetworkClient.poll(NetworkClient.java:460)
- at org.apache.kafka.clients.consumer.internals.ConsumerNetworkClient.poll(ConsumerNetworkClient.java:261)
- at org.apache.kafka.clients.consumer.internals.ConsumerNetworkClient.poll(ConsumerNetworkClient.java:233)
- at org.apache.kafka.clients.consumer.internals.ConsumerNetworkClient.poll(ConsumerNetworkClient.java:224)
- at org.apache.kafka.clients.consumer.internals.ConsumerNetworkClient.awaitMetadataUpdate(ConsumerNetworkClient.java:156)
- at org.apache.kafka.clients.consumer.internals.AbstractCoordinator.ensureCoordinatorReady(AbstractCoordinator.java:228)
- at org.apache.kafka.clients.consumer.internals.AbstractCoordinator.ensureCoordinatorReady(AbstractCoordinator.java:205)
- at org.apache.kafka.clients.consumer.internals.ConsumerCoordinator.poll(ConsumerCoordinator.java:279)
- at org.apache.kafka.clients.consumer.KafkaConsumer.pollOnce(KafkaConsumer.java:1149)
- at org.apache.kafka.clients.consumer.KafkaConsumer.poll(KafkaConsumer.java:1115)
- at org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.run(KafkaMessageListenerContainer.java:699)
- at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
- at java.util.concurrent.FutureTask.run(FutureTask.java:266)
- at java.lang.Thread.run(Thread.java:745)
- Caused by: javax.security.auth.callback.UnsupportedCallbackException: Unrecognized SASL ClientCallback
- at org.apache.kafka.common.security.authenticator.SaslClientCallbackHandler.handle(SaslClientCallbackHandler.java:89)
- at org.apache.kafka.common.security.scram.ScramSaslClient.evaluateChallenge(ScramSaslClient.java:103)
- ... 24 common frames omitted
- @Bean
- public KafkaTemplate<String, String> kafkaTemplate() {
- Map<String, Object> props = new HashMap<>();
- props.put(ProducerConfig.BOOTSTRAP_SERVERS_CONFIG, env.getProperty("kafka.bootstrap.address"));
- props.put(ProducerConfig.KEY_SERIALIZER_CLASS_CONFIG, StringSerializer.class);
- props.put(ProducerConfig.VALUE_SERIALIZER_CLASS_CONFIG, StringSerializer.class);
- //enables GZIP compression
- props.put(ProducerConfig.COMPRESSION_TYPE_CONFIG, env.getProperty("kafka.compression.type"));
- //enables SSL and password based authentication
- props.put(AdminClientConfig.SECURITY_PROTOCOL_CONFIG, env.getProperty("kafka.security.protocol"));
- props.put(SaslConfigs.SASL_MECHANISM, env.getProperty("kafka.sasl.mechanism"));
- props.put("sasl.jaas.config", String.format("org.apache.kafka.common.security.scram.ScramLoginModule required username="%s" password="%s";", env.getProperty("kafka.producer.username"), env.getProperty("kafka.producer.password")));
- return new KafkaTemplate<String, String>(new DefaultKafkaProducerFactory<>(props));
- }
Add Comment
Please, Sign In to add comment