nutritious-bird-77396
12/16/2021, 6:34 PM# KAFKA_PROPERTIES_SECURITY_PROTOCOL=SSL
# KAFKA_PROPERTIES_SSL_KEYSTORE_LOCATION=
# KAFKA_PROPERTIES_SSL_KEYSTORE_PASSWORD=
# KAFKA_PROPERTIES_SSL_KEY_PASSWORD=
# KAFKA_PROPERTIES_SSL_TRUSTSTORE_LOCATION=
# KAFKA_PROPERTIES_SSL_TRUSTSTORE_PASSWORD=
# KAFKA_PROPERTIES_SSL_ENDPOINT_IDENTIFICATION_ALGORITHM=
Are there any options for these to be set thru MSK IAM jar?
I have seen quite a few ppl have made MSK work..trying to understand this a little better....nutritious-bird-77396
12/16/2021, 7:14 PMorange-night-91387
12/16/2021, 11:21 PMnutritious-bird-77396
12/17/2021, 1:02 AMnutritious-bird-77396
01/16/2022, 3:23 PMfancy-thailand-73281
06/10/2022, 5:44 PMCaused by: org.apache.kafka.common.KafkaException: Failed to construct kafka producer ā
ā at org.apache.kafka.clients.producer.KafkaProducer.<init>(KafkaProducer.java:433) ā
ā at org.apache.kafka.clients.producer.KafkaProducer.<init>(KafkaProducer.java:298) ā
ā at controllers.TrackingController.createKafkaProducer(TrackingController.java:134) ā
ā at controllers.TrackingController.<init>(TrackingController.java:52) ā
ā at controllers.TrackingController$$FastClassByGuice$$c3b1bcca.newInstance(<generated>) ā
ā at com.google.inject.internal.DefaultConstructionProxyFactory$FastClassProxy.newInstance(DefaultConstructionProxyFactory.java:89) ā
ā at com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:114) ā
ā at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:91) ā
ā at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:306) ā
ā at com.google.inject.internal.SingleParameterInjector.inject(SingleParameterInjector.java:42) ā
ā at com.google.inject.internal.SingleParameterInjector.getAll(SingleParameterInjector.java:65) ā
ā at com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:113) ā
ā at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:91) ā
ā at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:306) ā
ā at com.google.inject.internal.InjectorImpl$1.get(InjectorImpl.java:1050) ā
ā at com.google.inject.internal.InjectorImpl.getInstance(InjectorImpl.java:1086) ā
ā at play.api.inject.guice.GuiceInjector.instanceOf(GuiceInjectorBuilder.scala:435) ā
ā at play.api.inject.ContextClassLoaderInjector.$anonfun$instanceOf$3(Injector.scala:116) ā
ā at play.api.inject.ContextClassLoaderInjector.withContext(Injector.scala:124) ā
ā at play.api.inject.ContextClassLoaderInjector.instanceOf(Injector.scala:116) ā
ā at play.api.inject.RoutesProvider.$anonfun$get$2(BuiltinModule.scala:116) ā
ā at scala.Option.fold(Option.scala:251) ā
ā at play.api.inject.RoutesProvider.get$lzycompute(BuiltinModule.scala:116) ā
ā at play.api.inject.RoutesProvider.get(BuiltinModule.scala:111) ā
ā at play.api.inject.RoutesProvider.get(BuiltinModule.scala:105) ā
ā at com.google.inject.internal.ProviderInternalFactory.provision(ProviderInternalFactory.java:85) ā
ā at com.google.inject.internal.BoundProviderFactory.provision(BoundProviderFactory.java:77) ā
ā at com.google.inject.internal.ProviderInternalFactory.circularGet(ProviderInternalFactory.java:59) ā
ā at com.google.inject.internal.BoundProviderFactory.get(BoundProviderFactory.java:61) ā
ā at com.google.inject.internal.InjectorImpl$1.get(InjectorImpl.java:1050) ā
ā ... 27 common frames omitted ā
ā Caused by: org.apache.kafka.common.KafkaException: javax.security.auth.login.LoginException: unable to find LoginModule class: software.amazon.msk.auth.iam.IAMLoginModule ā
ā at org.apache.kafka.common.network.SaslChannelBuilder.configure(SaslChannelBuilder.java:160) ā
ā at org.apache.kafka.common.network.ChannelBuilders.create(ChannelBuilders.java:146) ā
ā at org.apache.kafka.common.network.ChannelBuilders.clientChannelBuilder(ChannelBuilders.java:67) ā
ā at org.apache.kafka.clients.ClientUtils.createChannelBuilder(ClientUtils.java:99) ā
ā at org.apache.kafka.clients.producer.KafkaProducer.newSender(KafkaProducer.java:441) ā
ā at org.apache.kafka.clients.producer.KafkaProducer.<init>(KafkaProducer.java:422) ā
ā ... 56 common frames omitted ā
ā Caused by: javax.security.auth.login.LoginException: unable to find LoginModule class: software.amazon.msk.auth.iam.IAMLoginModule ā
ā at javax.security.auth.login.LoginContext.invoke(LoginContext.java:794)
and my springKafkaConfigurationOverrides
springKafkaConfigurationOverrides:
#ssl.keystore.location: /mnt/datahub/certs/datahub.linkedin.com.keystore.jks
ssl.truststore.location: /mnt/datahub/certs/kafka.client.truststore.jks
#kafkastore.ssl.truststore.location: /mnt/datahub/certs/kafka.client.truststore.jks
security.protocol: SASL_SSL
sasl.mechanism: AWS_MSK_IAM
sasl.jaas.config: software.amazon.msk.auth.iam.IAMLoginModule required;
sasl.client.callback.handler.class: software.amazon.msk.auth.iam.IAMClientCallbackHandler
#kafkastore.security.protocol: SSL
#ssl.keystore.type: JKS
ssl.truststore.type: JKS
#ssl.protocol: TLS
#ssl.endpoint.identification.algorithm:
nutritious-bird-77396
06/10/2022, 7:07 PMgms
from local? Just to exclude if the issue is with app config or helm?
Also while debugging enable IAM debug software.amazon.msk.auth.iam.IAMLoginModule required awsDebugCreds=true;
As far as i see the IAM Auth lib is part of the service build - https://github.com/datahub-project/datahub/blob/master/metadata-service/war/build.gradle#L26fancy-thailand-73281
06/13/2022, 4:22 PMfancy-thailand-73281
06/13/2022, 4:53 PMdocker run -it -e MAE_CONSUMER_ENABLED='true'
-e MCE_CONSUMER_ENABLED='true'
-e SCHEMA_REGISTRY_TYPE='AWS_GLUE'
-e AWS_GLUE_SCHEMA_REGISTRY_REGION='us-east-1'
-e AWS_GLUE_SCHEMA_REGISTRY_NAME='datahub'
-e ENTITY_REGISTRY_CONFIG_PATH='/datahub/datahub-gms/resources/entity-registry.yml'
-e ANALYTICS_ENABLED='true'
-e ELASTICSEARCH_HOST='xxxxxx'
-e KAFKA_BOOTSTRAP_SERVER='xxxxxx'
-e ELASTICSEARCH_PORT='443'
-e ELASTICSEARCH_USE_SSL='true'
-e EBEAN_DATASOURCE_USERNAME='xxx'
-e EBEAN_DATASOURCE_PASSWORD='xxx'
-e EBEAN_DATASOURCE_URL='jdbc:<mysql://xxxxxx:3306/datahub?verifyServerCertificate=false&useSSL=true&useUnicode=yes&characterEncoding=UTF-8&enabledTLSProtocols=TLSv1.2>'
-e EBEAN_DATASOURCE_DRIVER='com.mysql.jdbc.Driver'
-e SPRING_KAFKA_PROPERTIES_SECURITY_PROTOCOL='SASL_SSL'
-e SPRING_KAFKA_PROPERTIES_SASL_MECHANISM='AWS_MSK_IAM'
-e SPRING_KAFKA_PROPERTIES_SSL_TRUSTSTORE_LOCATION='/tmp/kafka/kafka.client.truststore.jks'
-e SPRING_KAFKA_PROPERTIES_SASL_JAAS_CONFIG='software.amazon.msk.auth.iam.IAMLoginModule required;'
-e SPRING_KAFKA_PROPERTIES_SASL_CLIENT_CALLBACK_HANDLER_CLASS='software.amazon.msk.auth.iam.IAMClientCallbackHandler' linkedin/datahub-gms
but Im getting this error, anything i'm missing here
2022/06/13 16:46:55 Waiting for: tcp:
2022/06/13 16:46:55 Waiting for: <tcp://xxxx:9098>
2022/06/13 16:46:55 Waiting for: <tcp://xxxx:9098>
2022/06/13 16:46:55 Waiting for: <https://xxxxxxx:443>
2022/06/13 16:46:55 Waiting for: http:
2022/06/13 16:46:55 Problem with request: Get http:: http: no Host in request URL. Sleeping 1s
2022/06/13 16:46:55 Problem with dial: dial tcp: missing address. Sleeping 1s
2022/06/13 16:46:55 Connected to <tcp://xxxxxx:9098>
2022/06/13 16:46:55 Connected to <tcp://xxxxx:9098>
2022/06/13 16:46:55 Received 200 from <https://xxxxxxx:443>
2022/06/13 16:46:56 Problem with request: Get http:: http: no Host in request URL. Sleeping 1s
2022/06/13 16:46:56 Problem with dial: dial tcp: missing address. Sleeping 1s
2022/06/13 16:46:57 Problem with dial: dial tcp: missing address. Sleeping 1s
2022/06/13 16:46:57 Problem with request: Get http:: http: no Host in request URL. Sleeping 1s
2022/06/13 16:46:58 Problem with dial: dial tcp: missing address. Sleeping 1s
2022/06/13 16:46:58 Problem with request: Get http:: http: no Host in request URL. Sleeping 1s
2022/06/13 16:46:59 Problem with dial: dial tcp: missing address. Sleeping 1s
2022/06/13 16:46:59 Problem with request: Get http:: http: no Host in request URL. Sleeping 1s
2022/06/13 16:47:00 Problem with dial: dial tcp: missing address. Sleeping 1s
fancy-thailand-73281
06/13/2022, 4:57 PMnutritious-bird-77396
06/13/2022, 5:08 PMSPRING_KAFKA_PROPERTIES_SASL_JAAS_CONFIG=software.amazon.msk.auth.iam.IAMLoginModule required awsDebugCreds=true;
fancy-thailand-73281
06/13/2022, 5:47 PMā Caused by: org.apache.kafka.common.KafkaException: Failed to construct kafka producer ā
ā at org.apache.kafka.clients.producer.KafkaProducer.<init>(KafkaProducer.java:433) ā
ā at org.apache.kafka.clients.producer.KafkaProducer.<init>(KafkaProducer.java:298) ā
ā at controllers.TrackingController.createKafkaProducer(TrackingController.java:134) ā
ā at controllers.TrackingController.<init>(TrackingController.java:52) ā
ā at controllers.TrackingController$$FastClassByGuice$$c3b1bcca.newInstance(<generated>) ā
ā at com.google.inject.internal.DefaultConstructionProxyFactory$FastClassProxy.newInstance(DefaultConstructionProxyFactory.java:89) ā
ā at com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:114) ā
ā at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:91) ā
ā at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:306) ā
ā at com.google.inject.internal.SingleParameterInjector.inject(SingleParameterInjector.java:42) ā
ā at com.google.inject.internal.SingleParameterInjector.getAll(SingleParameterInjector.java:65) ā
ā at com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:113) ā
ā at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:91) ā
ā at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:306) ā
ā at play.api.inject.RoutesProvider.get$lzycompute(BuiltinModule.scala:116) ā
ā at play.api.inject.RoutesProvider.get(BuiltinModule.scala:111) ā
ā at play.api.inject.RoutesProvider.get(BuiltinModule.scala:105) ā
ā at com.google.inject.internal.ProviderInternalFactory.provision(ProviderInternalFactory.java:85) ā
ā at com.google.inject.internal.BoundProviderFactory.provision(BoundProviderFactory.java:77) ā
ā at com.google.inject.internal.ProviderInternalFactory.circularGet(ProviderInternalFactory.java:59) ā
ā at com.google.inject.internal.BoundProviderFactory.get(BoundProviderFactory.java:61) ā
ā at com.google.inject.internal.InjectorImpl$1.get(InjectorImpl.java:1050) ā
ā ... 27 common frames omitted ā
ā Caused by: org.apache.kafka.common.KafkaException: javax.security.auth.login.LoginException: unable to find LoginModule class: software.amazon.msk.auth.iam.IAMLoginModule ā
ā at org.apache.kafka.common.network.SaslChannelBuilder.configure(SaslChannelBuilder.java:160) ā
ā at org.apache.kafka.common.network.ChannelBuilders.create(ChannelBuilders.java:146) ā
ā at org.apache.kafka.common.network.ChannelBuilders.clientChannelBuilder(ChannelBuilders.java:67) ā
ā at org.apache.kafka.clients.ClientUtils.createChannelBuilder(ClientUtils.java:99) ā
ā at org.apache.kafka.clients.producer.KafkaProducer.newSender(KafkaProducer.java:441) ā
ā at org.apache.kafka.clients.producer.KafkaProducer.<init>(KafkaProducer.java:422) ā
ā ... 56 common frames omitted ā
ā Caused by: javax.security.auth.login.LoginException: unable to find LoginModule class: software.amazon.msk.auth.iam.IAMLoginModule ā
ā at javax.security.auth.login.LoginContext.invoke(LoginContext.java:794) ā
ā at javax.security.auth.login.LoginContext.access$000(LoginContext.java:195) ā
ā at javax.security.auth.login.LoginContext$4.run(LoginContext.java:682) ā
ā at javax.security.auth.login.LoginContext$4.run(LoginContext.java:680) ā
ā at java.security.AccessController.doPrivileged(Native Method) ā
ā at javax.security.auth.login.LoginContext.invokePriv(LoginContext.java:680) ā
ā at javax.security.auth.login.LoginContext.login(LoginContext.java:587) ā
ā at org.apache.kafka.common.security.authenticator.AbstractLogin.login(AbstractLogin.java:60) ā
ā at org.apache.kafka.common.security.authenticator.LoginManager.<init>(LoginManager.java:61) ā
ā at org.apache.kafka.common.security.authenticator.LoginManager.acquireLoginManager(LoginManager.java:104) ā
ā at org.apache.kafka.common.network.SaslChannelBuilder.configure(SaslChannelBuilder.java:149)
nutritious-bird-77396
06/13/2022, 10:06 PMnutritious-bird-77396
06/13/2022, 10:10 PMfancy-thailand-73281
06/14/2022, 4:12 PMbash-5.1$ find / -iname '*aws-msk-iam-auth*'
find: /proc/tty/driver: Permission denied
find: /root: Permission denied
/tmp/jetty-0_0_0_0-8080-war_war-_-any-6885139113642476173/webapp/WEB-INF/lib/aws-msk-iam-auth-1.1.1.jar
nutritious-bird-77396
06/14/2022, 4:21 PM2022/06/13 16:46:56 Problem with request: Get http:: http: no Host in request URL. Sleeping 1s
It says no host. It might worth checking here toofancy-thailand-73281
06/14/2022, 4:23 PM2022/06/13 16:46:56 Problem with request: Get http:: http: no Host in request URL. Sleeping 1s
fancy-thailand-73281
06/14/2022, 4:23 PMā Caused by: org.apache.kafka.common.KafkaException: Failed to construct kafka producer ā
ā at org.apache.kafka.clients.producer.KafkaProducer.<init>(KafkaProducer.java:433) ā
ā at org.apache.kafka.clients.producer.KafkaProducer.<init>(KafkaProducer.java:298) ā
ā at controllers.TrackingController.createKafkaProducer(TrackingController.java:134) ā
ā at controllers.TrackingController.<init>(TrackingController.java:52) ā
ā at controllers.TrackingController$$FastClassByGuice$$c3b1bcca.newInstance(<generated>) ā
ā at com.google.inject.internal.DefaultConstructionProxyFactory$FastClassProxy.newInstance(DefaultConstructionProxyFactory.java:89) ā
ā at com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:114) ā
ā at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:91) ā
ā at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:306) ā
ā at com.google.inject.internal.SingleParameterInjector.inject(SingleParameterInjector.java:42) ā
ā at com.google.inject.internal.SingleParameterInjector.getAll(SingleParameterInjector.java:65) ā
ā at com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:113) ā
ā at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:91) ā
ā at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:306) ā
ā at play.api.inject.RoutesProvider.get$lzycompute(BuiltinModule.scala:116) ā
ā at play.api.inject.RoutesProvider.get(BuiltinModule.scala:111) ā
ā at play.api.inject.RoutesProvider.get(BuiltinModule.scala:105) ā
ā at com.google.inject.internal.ProviderInternalFactory.provision(ProviderInternalFactory.java:85) ā
ā at com.google.inject.internal.BoundProviderFactory.provision(BoundProviderFactory.java:77) ā
ā at com.google.inject.internal.ProviderInternalFactory.circularGet(ProviderInternalFactory.java:59) ā
ā at com.google.inject.internal.BoundProviderFactory.get(BoundProviderFactory.java:61) ā
ā at com.google.inject.internal.InjectorImpl$1.get(InjectorImpl.java:1050) ā
ā ... 27 common frames omitted ā
ā Caused by: org.apache.kafka.common.KafkaException: javax.security.auth.login.LoginException: unable to find LoginModule class: software.amazon.msk.auth.iam.IAMLoginModule ā
ā at org.apache.kafka.common.network.SaslChannelBuilder.configure(SaslChannelBuilder.java:160) ā
ā at org.apache.kafka.common.network.ChannelBuilders.create(ChannelBuilders.java:146) ā
ā at org.apache.kafka.common.network.ChannelBuilders.clientChannelBuilder(ChannelBuilders.java:67) ā
ā at org.apache.kafka.clients.ClientUtils.createChannelBuilder(ClientUtils.java:99) ā
ā at org.apache.kafka.clients.producer.KafkaProducer.newSender(KafkaProducer.java:441) ā
ā at org.apache.kafka.clients.producer.KafkaProducer.<init>(KafkaProducer.java:422) ā
ā ... 56 common frames omitted ā
ā Caused by: javax.security.auth.login.LoginException: unable to find LoginModule class: software.amazon.msk.auth.iam.IAMLoginModule ā
ā at javax.security.auth.login.LoginContext.invoke(LoginContext.java:794) ā
ā at javax.security.auth.login.LoginContext.access$000(LoginContext.java:195) ā
ā at javax.security.auth.login.LoginContext$4.run(LoginContext.java:682) ā
ā at javax.security.auth.login.LoginContext$4.run(LoginContext.java:680) ā
ā at java.security.AccessController.doPrivileged(Native Method) ā
ā at javax.security.auth.login.LoginContext.invokePriv(LoginContext.java:680) ā
ā at javax.security.auth.login.LoginContext.login(LoginContext.java:587) ā
ā at org.apache.kafka.common.security.authenticator.AbstractLogin.login(AbstractLogin.java:60) ā
ā at org.apache.kafka.common.security.authenticator.LoginManager.<init>(LoginManager.java:61) ā
ā at org.apache.kafka.common.security.authenticator.LoginManager.acquireLoginManager(LoginManager.java:104) ā
ā at org.apache.kafka.common.network.SaslChannelBuilder.configure(SaslChannelBuilder.java:149)
this one when we RUN with Helm on EKS clusterfancy-thailand-73281
06/14/2022, 4:25 PMbash-5.1$ find / -iname '*aws-msk-iam-auth*'
find: /proc/tty/driver: Permission denied
find: /root: Permission denied
/tmp/jetty-0_0_0_0-8080-war_war-_-any-6885139113642476173/webapp/WEB-INF/lib/aws-msk-iam-auth-1.1.1.jar
fancy-thailand-73281
06/14/2022, 4:25 PMbillions-morning-53195
06/14/2022, 5:08 PMmelodic-market-88762
06/22/2022, 2:46 PMcalm-dinner-63735
06/22/2022, 2:53 PM