On 2019/04/09 11:21:10, Shantanu Deshmukh <shantanu...@gmail.com> wrote:
> That was a blooper. But even after correcting, it still isn't working.
> Still getting the same error.
> Here are the configs again:
>
> *Kafka config: *
>
> KafkaServer {
> org.apache.kafka.common.security.plain.PlainLoginModule required
> username="admin"
> password="admin-secret"
> user_admin="admin-secret"
> user_dip="dip";
> };
> KafkaClient {
> org.apache.kafka.common.security.plain.PlainLoginModule required
> username="dip"
> password="dip-secret";
> };
>
> *Zookeeper config:*
>
> Server {
> org.apache.kafka.common.security.plain.PlainLoginModule required
> username="admin"
> password="admin-secret"
> user_admin="admin-secret";
> };
>
> On Mon, Apr 8, 2019 at 2:11 PM 1095193...@qq.com <1095193...@qq.com> wrote:
>
> >
> >
> > On 2019/04/03 13:08:45, Shantanu Deshmukh <shantanu...@gmail.com> wrote:
> > > Hello everyone,
> > >
> > > I am trying to setup Kafka SASL authentication on my single node Kafka on
> > > my local machine. version 2.
> > >
> > > Here's my Kafka broker JAAS file:
> > >
> > > KafkaServer {
> > > org.apache.kafka.common.security.plain.PlainLoginModule required
> > > username="admin"
> > > password="admin"
> > > user_admin="admin"
> > > user_dip="dip";
> > > };
> > > Client {
> > > org.apache.kafka.common.security.plain.PlainLoginModule required
> > > username="admin"
> > > password="admin-secret";
> > > };
> > >
> > > Zookeeper JAAS file:
> > >
> > > Server {
> > > org.apache.kafka.common.security.plain.PlainLoginModule required
> > > username="admin"
> > > password="admin-secret"
> > > user_admin="admin-secret";
> > > };
> > >
> > > Kafka broker properties
> > >
> > > listeners=SASL_PLAINTEXT://localhost:9092authroizer.class.name
> > =kafka.security.auth.SimpleAclAuthorizer
> > > security.inter.broker.protocol=SASL_PLAINTEXT
> > > sasl.mechanism.inter.broker.protocol=PLAINTEXT
> > > sasl.enabled.mechanisms=PLAINTEXT
> > >
> > > Zookeeper properties:
> > >
> > >
> > authProvider.1=org.apache.zookeeper.server.auth.SASLAuthenticationProvider
> > > requireClientAuthScheme=sasl
> > > jaasLoginRenew=3600000
> > >
> > > When I try to start Kafka server I am continuously getting this error.
> > >
> > > [2019-04-03 16:32:31,267] DEBUG Accepted connection from
> > > /127.0.0.1:45794 on /127.0.0.1:9092 and assigned it to processor 1,
> > > sendBufferSize [actual|requested]: [102400|102400] recvBufferSize
> > > [actual|requested]: [102400|102400] (kafka.network.Acceptor)
> > > [2019-04-03 16:32:31,267] DEBUG Processor 1 listening to new
> > > connection from /127.0.0.1:45794 (kafka.network.Processor)
> > > [2019-04-03 16:32:31,268] WARN [Controller id=0, targetBrokerId=0]
> > > Unexpected error from localhost/127.0.0.1; closing connection
> > > (org.apache.kafka.common.network.Selector)
> > > java.lang.NullPointerException
> > > at
> > org.apache.kafka.common.security.authenticator.SaslClientAuthenticator.sendSaslClientToken(SaslClientAuthenticator.java:266)
> > > at
> > org.apache.kafka.common.security.authenticator.SaslClientAuthenticator.authenticate(SaslClientAuthenticator.java:204)
> > > at
> > org.apache.kafka.common.network.KafkaChannel.prepare(KafkaChannel.java:141)
> > > at
> > org.apache.kafka.common.network.Selector.pollSelectionKeys(Selector.java:532)
> > > at org.apache.kafka.common.network.Selector.poll(Selector.java:467)
> > > at
> > org.apache.kafka.clients.NetworkClient.poll(NetworkClient.java:535)
> > > at
> > org.apache.kafka.clients.NetworkClientUtils.awaitReady(NetworkClientUtils.java:74)
> > > at
> > kafka.controller.RequestSendThread.brokerReady(ControllerChannelManager.scala:279)
> > > at
> > kafka.controller.RequestSendThread.doWork(ControllerChannelManager.scala:233)
> > > at kafka.utils.ShutdownableThread.run(ShutdownableThread.scala:82)
> > > [2019-04-03 16:32:31,268] WARN [Controller id=0, targetBrokerId=0]
> > > Connection to node 0 (localhost/127.0.0.1:9092) terminated during
> > > authentication. This may indicate that authentication failed due to
> > > invalid credentials. (org.apache.kafka.clients.NetworkClient)
> > >
> > > Please help. Unable to understand this problem.
> > >
> > >
> > > Thanks & Regards,
> > >
> > > Shantanu Deshmukh
> > >
> > user_admin="admin" in KafkaServer is not consistent with
> > password="admin-secret" in Client
> >
Hi,
First, the Client section is used by zookeeper client and the KafkaClient
section is used by Kafka client. Then, the username and password in
Client/KafkaClient section should correspond to the user_*="*" in
KafkaServer/Server section. For example:
KafkaServer {
org.apache.kafka.common.security.plain.PlainLoginModule required
username="admin"
password="admin-secret"
user_admin="admin-secret"
user_alice="alice-secret";
};
KafkaClient {
org.apache.kafka.common.security.plain.PlainLoginModule required
//corresponding to user_alice="alice-secret" in KafkaServer
username="alice"
password="alice-secret";
};
Client{
org.apache.kafka.common.security.plain.PlainLoginModule required
//corresponding to user_bob="bib-secret" in Server
username="bob"
password="bob-secret";
};
*Zookeeper config:*
Server {
org.apache.kafka.common.security.plain.PlainLoginModule required
username="admin"
password="admin-secret"
user_bob="bob-secret";
};