Jan Tichý created GOBBLIN-1061:
----------------------------------

             Summary: Kafka consumer Kerberos config
                 Key: GOBBLIN-1061
                 URL: https://issues.apache.org/jira/browse/GOBBLIN-1061
             Project: Apache Gobblin
          Issue Type: Bug
    Affects Versions: 0.14.0
         Environment: OS RHEL 7.5, Cloudera kafka 3.1.0 (kafka 1.0.1), CDH 
5.16.2
            Reporter: Jan Tichý
         Attachments: application.conf, sip_voice_raw.pull

Does the gobblin support kerberos auth for kafka client consumer? I have right 
kafka consumer settings with sasl_plaintext configuration but if it tries to 
kinit it fails with exception below:
{code:java}
2020-02-20 05:44:00 PST INFO [DefaultQuartzScheduler_Worker-1] 
org.apache.kafka.common.config.AbstractConfig - ConsumerConfig values:
metric.reporters = []
metadata.max.age.ms = 300000
value.deserializer = class io.confluent.kafka.serializers.KafkaAvroDeserializer
group.id = kafka09
partition.assignment.strategy = 
[org.apache.kafka.clients.consumer.RangeAssignor]
reconnect.backoff.ms = 50
sasl.kerberos.ticket.renew.window.factor = 0.8
max.partition.fetch.bytes = 1048576
bootstrap.servers = [czrtim1hr.oskarmobil.cz:9092, czrtim2hr.oskarmobil.cz:9092]
retry.backoff.ms = 100
sasl.kerberos.kinit.cmd = /usr/bin/kinit
sasl.kerberos.service.name = kafka
sasl.kerberos.ticket.renew.jitter = 0.05
ssl.keystore.type = JKS
ssl.trustmanager.algorithm = PKIX
enable.auto.commit = false
ssl.key.password = null
fetch.max.wait.ms = 500
sasl.kerberos.min.time.before.relogin = 60000
connections.max.idle.ms = 540000
ssl.truststore.password = null
session.timeout.ms = 30000
metrics.num.samples = 2
client.id =
ssl.endpoint.identification.algorithm = null
key.deserializer = class io.confluent.kafka.serializers.KafkaAvroDeserializer
ssl.protocol = TLS
check.crcs = true
request.timeout.ms = 40000
ssl.provider = null
ssl.enabled.protocols = [TLSv1.2, TLSv1.1, TLSv1]
ssl.keystore.location = null
heartbeat.interval.ms = 3000
auto.commit.interval.ms = 5000
receive.buffer.bytes = 32768
ssl.cipher.suites = null
ssl.truststore.type = JKS
security.protocol = SASL_PLAINTEXT
ssl.truststore.location = null
ssl.keystore.password = null
ssl.keymanager.algorithm = SunX509
metrics.sample.window.ms = 30000
fetch.min.bytes = 1
send.buffer.bytes = 131072
auto.offset.reset = latest2020-02-20 05:44:00 PST ERROR 
[DefaultQuartzScheduler_Worker-1] org.apache.gobblin.runtime.SourceDecorator - 
Failed to get work units for job job_SipVoiceRaw_1582206240042
org.apache.kafka.common.KafkaException: Failed to construct kafka consumer
at 
org.apache.kafka.clients.consumer.KafkaConsumer.<init>(KafkaConsumer.java:648)
at 
org.apache.kafka.clients.consumer.KafkaConsumer.<init>(KafkaConsumer.java:542)
at 
org.apache.kafka.clients.consumer.KafkaConsumer.<init>(KafkaConsumer.java:524)
at 
org.apache.gobblin.kafka.client.Kafka09ConsumerClient.<init>(Kafka09ConsumerClient.java:116)
at 
org.apache.gobblin.kafka.client.Kafka09ConsumerClient.<init>(Kafka09ConsumerClient.java:69)
at 
org.apache.gobblin.kafka.client.Kafka09ConsumerClient$Factory.create(Kafka09ConsumerClient.java:224)
at 
org.apache.gobblin.source.extractor.extract.kafka.KafkaSource.getWorkunits(KafkaSource.java:210)
at 
org.apache.gobblin.runtime.SourceDecorator.getWorkunitStream(SourceDecorator.java:81)
at 
org.apache.gobblin.runtime.AbstractJobLauncher.launchJob(AbstractJobLauncher.java:411)
at 
org.apache.gobblin.cluster.GobblinHelixJobLauncher.launchJob(GobblinHelixJobLauncher.java:378)
at org.apache.gobblin.scheduler.JobScheduler.runJob(JobScheduler.java:487)
at 
org.apache.gobblin.cluster.HelixRetriggeringJobCallable.runJobLauncherLoop(HelixRetriggeringJobCallable.java:203)
at 
org.apache.gobblin.cluster.HelixRetriggeringJobCallable.call(HelixRetriggeringJobCallable.java:159)
at 
org.apache.gobblin.cluster.GobblinHelixJobScheduler.runJob(GobblinHelixJobScheduler.java:228)
at 
org.apache.gobblin.cluster.GobblinHelixJob.executeImpl(GobblinHelixJob.java:61)
at org.apache.gobblin.scheduler.BaseGobblinJob.execute(BaseGobblinJob.java:58)
at org.quartz.core.JobRunShell.run(JobRunShell.java:202)
at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:573)
Caused by: org.apache.kafka.common.KafkaException: 
java.lang.IllegalArgumentException: You must pass 
java.security.auth.login.config in secure mode.
at 
org.apache.kafka.common.network.SaslChannelBuilder.configure(SaslChannelBuilder.java:74)
at 
org.apache.kafka.common.network.ChannelBuilders.create(ChannelBuilders.java:60){code}
I have these conf options in my config for kerberos auth:
gobblin.yarn.keytab.file.path="/home/morpheus2/.keytab"
gobblin.yarn.keytab.principal.name=morpheus2

 



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to