Skip to content

[Question] How to configure Thingsboard Kafka external node as producer to Confluent Cloud #6830

@saradindusengupta

Description

@saradindusengupta

Component

  • Rule Engine
  • External Node

Description
I am trying to use the external node for Kafka in a rule chain to produce a Kafka broker in the Confluent cloud. Both the systems, i.e., thingsboard and Confluent cloud are hosted in the same AWS region. I am getting failure status in the event tab in Thingsboard with the following error log

Topic test not present in metadata after 60000 ms

I have tried to produce to the same topic from multiple Thingsoard systems with the same Thingsboard version, and I have received the same error log although I was able to send to a self-managed Kafka broker hosted in the same AWS region using the same external Kafka node following the tutorial here
None of the Thingsboard systems had SSL enabled or any root certificate stored. I have also attached the error log from thingsboard as well.

2022-06-24 12:59:21,975 [kafka-producer-network-thread | producer-tb-kafka-node-f0cfd6c0-f13b-11ec-a37e-bdd7f428800a-thingsboard-firmware-testing] WARN  o.apache.kafka.clients.NetworkClient - [Producer clientId=producer-tb-kafka-node-f0cfd6c0-f13b-11ec-a37e-bdd7f428800a-thingsboard-firmware-testing] Connection to node -1 (pkc-l7pr2.ap-south-1.aws.confluent.cloud/43.204.44.151:9092) terminated during authentication. This may happen due to any of the following reasons: (1) Authentication failed due to invalid credentials with brokers older than 1.0.0, (2) Firewall blocking Kafka TLS traffic (eg it may only allow HTTPS traffic), (3) Transient network issue.
2022-06-24 12:59:21,975 [kafka-producer-network-thread | producer-tb-kafka-node-f0cfd6c0-f13b-11ec-a37e-bdd7f428800a-thingsboard-firmware-testing] WARN  o.apache.kafka.clients.NetworkClient - [Producer clientId=producer-tb-kafka-node-f0cfd6c0-f13b-11ec-a37e-bdd7f428800a-thingsboard-firmware-testing] Bootstrap broker pkc-l7pr2.ap-south-1.aws.confluent.cloud:9092 (id: -1 rack: null) disconnected
2022-06-24 12:59:22,084 [kafka-producer-network-thread | producer-tb-kafka-node-f0cfd6c0-f13b-11ec-a37e-bdd7f428800a-thingsboard-firmware-testing] WARN  o.a.kafka.common.network.Selector - [Producer clientId=producer-tb-kafka-node-f0cfd6c0-f13b-11ec-a37e-bdd7f428800a-thingsboard-firmware-testing] Unexpected error from pkc-l7pr2.ap-south-1.aws.confluent.cloud/43.204.44.151; closing connection
java.lang.RuntimeException: Unexpected error: java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty
        at java.base/sun.security.validator.PKIXValidator.<init>(PKIXValidator.java:102)
        at java.base/sun.security.validator.Validator.getInstance(Validator.java:181)
        at java.base/sun.security.ssl.X509TrustManagerImpl.getValidator(X509TrustManagerImpl.java:300)
        at java.base/sun.security.ssl.X509TrustManagerImpl.checkTrustedInit(X509TrustManagerImpl.java:176)
        at java.base/sun.security.ssl.X509TrustManagerImpl.checkTrusted(X509TrustManagerImpl.java:246)
        at java.base/sun.security.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:141)
        at java.base/sun.security.ssl.CertificateMessage$T12CertificateConsumer.checkServerCerts(CertificateMessage.java:632)
        at java.base/sun.security.ssl.CertificateMessage$T12CertificateConsumer.onCertificate(CertificateMessage.java:473)
        at java.base/sun.security.ssl.CertificateMessage$T12CertificateConsumer.consume(CertificateMessage.java:369)
        at java.base/sun.security.ssl.SSLHandshake.consume(SSLHandshake.java:392)
        at java.base/sun.security.ssl.HandshakeContext.dispatch(HandshakeContext.java:443)
        at java.base/sun.security.ssl.SSLEngineImpl$DelegatedTask$DelegatedAction.run(SSLEngineImpl.java:1074)
        at java.base/sun.security.ssl.SSLEngineImpl$DelegatedTask$DelegatedAction.run(SSLEngineImpl.java:1061)
        at java.base/java.security.AccessController.doPrivileged(Native Method)
        at java.base/sun.security.ssl.SSLEngineImpl$DelegatedTask.run(SSLEngineImpl.java:1008)
        at org.apache.kafka.common.network.SslTransportLayer.runDelegatedTasks(SslTransportLayer.java:430)
        at org.apache.kafka.common.network.SslTransportLayer.handshakeUnwrap(SslTransportLayer.java:514)
        at org.apache.kafka.common.network.SslTransportLayer.doHandshake(SslTransportLayer.java:368)
        at org.apache.kafka.common.network.SslTransportLayer.handshake(SslTransportLayer.java:291)
        at org.apache.kafka.common.network.KafkaChannel.prepare(KafkaChannel.java:178)
        at org.apache.kafka.common.network.Selector.pollSelectionKeys(Selector.java:543)
        at org.apache.kafka.common.network.Selector.poll(Selector.java:481)
        at org.apache.kafka.clients.NetworkClient.poll(NetworkClient.java:561)
        at org.apache.kafka.clients.producer.internals.Sender.runOnce(Sender.java:327)
        at org.apache.kafka.clients.producer.internals.Sender.run(Sender.java:242)
        at java.base/java.lang.Thread.run(Thread.java:829)
Caused by: java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty
        at java.base/java.security.cert.PKIXParameters.setTrustAnchors(PKIXParameters.java:200)
        at java.base/java.security.cert.PKIXParameters.<init>(PKIXParameters.java:120)
        at java.base/java.security.cert.PKIXBuilderParameters.<init>(PKIXBuilderParameters.java:104)
        at java.base/sun.security.validator.PKIXValidator.<init>(PKIXValidator.java:99)
        ... 25 common frames omitted
2022-06-24 12:59:22,084 [kafka-producer-network-thread | producer-tb-kafka-node-f0cfd6c0-f13b-11ec-a37e-bdd7f428800a-thingsboard-firmware-testing] WARN  o.apache.kafka.clients.NetworkClient - [Producer clientId=producer-tb-kafka-node-f0cfd6c0-f13b-11ec-a37e-bdd7f428800a-thingsboard-firmware-testing] Connection to node -1 (pkc-l7pr2.ap-south-1.aws.confluent.cloud/43.204.44.151:9092) terminated during authentication. This may happen due to any of the following reasons: (1) Authentication failed due to invalid credentials with brokers older than 1.0.0, (2) Firewall blocking Kafka TLS traffic (eg it may only allow HTTPS traffic), (3) Transient network issue.
2022-06-24 12:59:22,084 [kafka-producer-network-thread | producer-tb-kafka-node-f0cfd6c0-f13b-11ec-a37e-bdd7f428800a-thingsboard-firmware-testing] WARN  o.apache.kafka.clients.NetworkClient - [Producer clientId=producer-tb-kafka-node-f0cfd6c0-f13b-11ec-a37e-bdd7f428800a-thingsboard-firmware-testing] Bootstrap broker pkc-l7pr2.ap-south-1.aws.confluent.cloud:9092 (id: -1 rack: null) disconnected
2022-06-24 12:59:22,194 [kafka-producer-network-thread | producer-tb-kafka-node-f0cfd6c0-f13b-11ec-a37e-bdd7f428800a-thingsboard-firmware-testing] WARN  o.a.kafka.common.network.Selector - [Producer clientId=producer-tb-kafka

Environment

  • OS: Ubuntu v20.04
  • ThingsBoard: CE v3.3.3
  • Browser: Chrome v102.0.5005.115
  • Java: 11

Metadata

Metadata

Assignees

Labels

questiongeneric question

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions