Koert,

I think what you're seeing is that there are actually 3 different ways
Connect can interact with Kafka. For both standalone and distributed mode,
you have producers and consumers that are part of the source and sink
connector implementations, respectively. Security for these are configured
using the producer. and consumer. prefixed configurations in the worker
config. In distributed mode, Connect also leverages Kafka's group
membership protocol to coordinate the workers and distribute work between
them. The security settings for these are picked up in the distributed
worker config without any prefixes.

For more info on configuring security, you can see Confluent's docs on that
here: http://docs.confluent.io/3.1.1/connect/security.html#security

We realize having to specify this multiple times is annoying if you want to
use the same set of credentials, but for other configurations it is
important to keep the configs for worker/producer/consumer isolated (such
as interceptors, which use the same config name but different interfaces
for ProducerInterceptor vs ConsumerInterceptor). For configs we know might
be shared, we'd like to find a way to make this configuration simpler.

-Ewen

On Fri, Nov 25, 2016 at 10:51 AM, Koert Kuipers <ko...@tresata.com> wrote:

> well it seems if you run connect in distributed mode... its again
> security.protocol=SASL_PLAINTEXT and not producer.security.protocol=
> SASL_PLAINTEXT
>
> dont ask me why
>
> On Thu, Nov 24, 2016 at 10:40 PM, Koert Kuipers <ko...@tresata.com> wrote:
>
> > for anyone that runs into this. turns out i also had to set:
> > producer.security.protocol=SASL_PLAINTEXT
> > producer.sasl.kerberos.service.name=kafka
> >
> >
> > On Thu, Nov 24, 2016 at 8:54 PM, Koert Kuipers <ko...@tresata.com>
> wrote:
> >
> >> i have a secure kafka 0.10.1 cluster using SASL_PLAINTEXT
> >>
> >> the kafka servers seem fine, and i can start console-consumer and
> >> console-producer and i see the message i type in the producer pop up in
> the
> >> consumer. no problems so far.
> >>
> >> for example to start console-producer:
> >> $ kinit
> >> $ export KAFKA_OPTS="-Djava.security.auth.login.config=config/jaas.
> conf"
> >> $ bin/kafka-console-producer.sh --producer.config
> >> config/producer.properties --topic test --broker-list
> >> SASL_PLAINTEXT://somenode:9092
> >>
> >> but i am having no luck whatsoever with kafka-connect. i tried this:
> >> $ kinit
> >> $ export KAFKA_OPTS="-Djava.security.auth.login.config=config/jaas.
> conf"
> >> $ bin/connect-standalone.sh config/connect-standalone.properties
> >> config/connect-console-source.properties
> >>
> >> my config/connect-console-source.properties is unchanged. my
> >> config/connect-standalone has:
> >>
> >> bootstrap.servers=SASL_PLAINTEXT://somenode:9092
> >> security.protocol=SASL_PLAINTEXT
> >> sasl.kerberos.service.name=kafka
> >> key.converter=org.apache.kafka.connect.json.JsonConverter
> >> value.converter=org.apache.kafka.connect.json.JsonConverter
> >> internal.key.converter=org.apache.kafka.connect.json.JsonConverter
> >> internal.value.converter=org.apache.kafka.connect.json.JsonConverter
> >> internal.key.converter.schemas.enable=false
> >> internal.value.converter.schemas.enable=false
> >> offset.storage.file.filename=/tmp/connect.offsets
> >> offset.flush.interval.ms=10000
> >>
> >> i get these logs in an infinite loop:
> >> [2016-11-24 20:47:18,528] DEBUG Node -1 disconnected.
> >> (org.apache.kafka.clients.NetworkClient:463)
> >> [2016-11-24 20:47:18,528] WARN Bootstrap broker somenode:9092
> >> disconnected (org.apache.kafka.clients.NetworkClient:568)
> >> [2016-11-24 20:47:18,528] DEBUG Give up sending metadata request since
> no
> >> node is available (org.apache.kafka.clients.NetworkClient:625)
> >> [2016-11-24 20:47:18,629] DEBUG Initialize connection to node -1 for
> >> sending metadata request (org.apache.kafka.clients.NetworkClient:644)
> >> [2016-11-24 20:47:18,629] DEBUG Initiating connection to node -1 at
> >> somenode:9092. (org.apache.kafka.clients.NetworkClient:496)
> >> [2016-11-24 20:47:18,631] DEBUG Created socket with SO_RCVBUF = 32768,
> >> SO_SNDBUF = 124928, SO_TIMEOUT = 0 to node -1
> (org.apache.kafka.common.netwo
> >> rk.Selector:327)
> >> [2016-11-24 20:47:18,631] DEBUG Completed connection to node -1
> >> (org.apache.kafka.clients.NetworkClient:476)
> >> [2016-11-24 20:47:18,730] DEBUG Sending metadata request
> >> {topics=[connect-test]} to node -1 (org.apache.kafka.clients.Netw
> >> orkClient:640)
> >> [2016-11-24 20:47:18,730] DEBUG Connection with somenode/192.168.1.54
> >> disconnected (org.apache.kafka.common.network.Selector:365)
> >> java.io.EOFException
> >>         at org.apache.kafka.common.network.NetworkReceive.readFromReada
> >> bleChannel(NetworkReceive.java:83)
> >>         at org.apache.kafka.common.network.NetworkReceive.readFrom(
> >> NetworkReceive.java:71)
> >>         at org.apache.kafka.common.network.KafkaChannel.receive(KafkaCh
> >> annel.java:154)
> >>         at org.apache.kafka.common.network.KafkaChannel.read(KafkaChann
> >> el.java:135)
> >>         at org.apache.kafka.common.network.Selector.pollSelectionKeys(
> >> Selector.java:343)
> >>         at org.apache.kafka.common.network.Selector.poll(Selector.java:
> >> 291)
> >>         at org.apache.kafka.clients.NetworkClient.poll(NetworkClient.
> >> java:260)
> >>         at org.apache.kafka.clients.producer.internals.Sender.run(Sende
> >> r.java:236)
> >>         at org.apache.kafka.clients.producer.internals.Sender.run(Sende
> >> r.java:135)
> >>         at java.lang.Thread.run(Thread.java:745)
> >>
> >> i tried different kafka-connect connectors, same result.
> >>
> >> any ideas? thanks!
> >>
> >
> >
>



-- 
Thanks,
Ewen

Reply via email to