<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>question How to set Kerberos Kafka  + Haproxy (Load Balancer) in Support Questions</title>
    <link>https://community.cloudera.com/t5/Support-Questions/How-to-set-Kerberos-Kafka-Haproxy-Load-Balancer/m-p/394731#M248789</link>
    <description>&lt;P&gt;Hello:&lt;/P&gt;&lt;P&gt;How to use HAProxy to connect for Kafka with Kerberos authentication?&lt;/P&gt;&lt;P&gt;I have three kafka brokers, and i try to use haproxy in front of kafka, but kerberos authenticated failed&lt;/P&gt;&lt;P&gt;My haproxy.conf&lt;/P&gt;&lt;P&gt;listen kafka&lt;BR /&gt;&amp;nbsp;bind *:6677&lt;BR /&gt;&amp;nbsp;mode tcp&lt;BR /&gt;&amp;nbsp;balance roundrobin&lt;BR /&gt;&amp;nbsp;server kafka1 kafka-1.kafka.net:6668 check&lt;BR /&gt;&amp;nbsp;server kafka2 kafka-2.kafka.net:6669 check&lt;BR /&gt;&amp;nbsp;server kafka3 kafka-3.kafka.net:6666 check&lt;/P&gt;&lt;P&gt;I also modified&lt;/P&gt;&lt;P&gt;kafka1 server.properties&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;&lt;SPAN&gt;advertised.listeners=INTERNAL://:6667,LB://gateway.kafka.net:6668&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI&gt;&lt;SPAN&gt;listeners=INTERNAL://:6667,LB://:6668&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI&gt;&lt;SPAN&gt;listener.security.protocol.map=INTERNAL:SASL_PLAINTEXT,LB:SASL_PLAINTEXT&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI&gt;&lt;SPAN&gt;inter.broker.listener.name=INTERNAL&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI&gt;&lt;SPAN&gt;listener.name.LB.gssapi.sasl.jaas.config=com.sun.security.auth.module.Krb5LoginModule required doNotPrompt=true useKeyTab=true storeKey=true keyTab="/etc/security/keytabs/kafka.service.keytab"principal="kafka/gateway.&lt;A href="mailto:kafka.net@KAFKA.NET&amp;quot;;" target="_blank" rel="noopener"&gt;kafka.net@KAFKA.NET"&lt;/A&gt;&lt;/SPAN&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;kafka2 server.properties&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;&lt;SPAN&gt;advertised.listeners=INTERNAL://:6667,LB://gateway.kafka.net:6669&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI&gt;&lt;SPAN&gt;listeners=INTERNAL://:6667,LB://:6669&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI&gt;&lt;SPAN&gt;listener.security.protocol.map=INTERNAL:SASL_PLAINTEXT,LB:SASL_PLAINTEXT&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI&gt;&lt;SPAN&gt;inter.broker.listener.name=INTERNAL&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI&gt;&lt;SPAN&gt;listener.name.LB.gssapi.sasl.jaas.config=com.sun.security.auth.module.Krb5LoginModule required doNotPrompt=true useKeyTab=true storeKey=true keyTab="/etc/security/keytabs/kafka.service.keytab"principal="kafka/gateway.kafka.net@KAFKA.NET";&lt;/SPAN&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;kafka3 server.properties&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;&lt;SPAN&gt;advertised.listeners=INTERNAL://:6667,LB://gateway.kafka.net:6666&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI&gt;&lt;SPAN&gt;listeners=INTERNAL://:6667,LB://:6666&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI&gt;&lt;SPAN&gt;listener.security.protocol.map=INTERNAL:SASL_PLAINTEXT,LB:SASL_PLAINTEXT&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI&gt;&lt;SPAN&gt;inter.broker.listener.name=INTERNAL&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI&gt;&lt;SPAN&gt;listener.name.LB.gssapi.sasl.jaas.config=com.sun.security.auth.module.Krb5LoginModule required doNotPrompt=true useKeyTab=true storeKey=true keyTab="/etc/security/keytabs/kafka.service.keytab"principal="kafka/gateway.kafka.net@KAFKA.NET";&lt;/SPAN&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;amd use the command&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;/usr/hdp/current/kafka-broker/bin/kafka-console-producer.sh --topic my-topic --broker-list gateway.kafka.net:6677 --producer-property security.protocol=SASL_PLAINTEXT&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Will get the error:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;[2024-10-08 20:07:58,330] ERROR [Producer clientId=console-producer] Connection to node -1 failed authentication due to: Authentication failed due to invalid credentials with SASL mechanism GSSAPI (org.apache.kafka.clients.NetworkClient)&lt;BR /&gt;[2024-10-08 20:07:58,330] ERROR Error when sending message to topic my-topic5 with key: null, value: 0 bytes with error: (org.apache.kafka.clients.producer.internals.ErrorLoggingCallback)&lt;/SPAN&gt;&lt;/P&gt;</description>
    <pubDate>Tue, 08 Oct 2024 05:12:47 GMT</pubDate>
    <dc:creator>polingsky202</dc:creator>
    <dc:date>2024-10-08T05:12:47Z</dc:date>
    <item>
      <title>How to set Kerberos Kafka  + Haproxy (Load Balancer)</title>
      <link>https://community.cloudera.com/t5/Support-Questions/How-to-set-Kerberos-Kafka-Haproxy-Load-Balancer/m-p/394731#M248789</link>
      <description>&lt;P&gt;Hello:&lt;/P&gt;&lt;P&gt;How to use HAProxy to connect for Kafka with Kerberos authentication?&lt;/P&gt;&lt;P&gt;I have three kafka brokers, and i try to use haproxy in front of kafka, but kerberos authenticated failed&lt;/P&gt;&lt;P&gt;My haproxy.conf&lt;/P&gt;&lt;P&gt;listen kafka&lt;BR /&gt;&amp;nbsp;bind *:6677&lt;BR /&gt;&amp;nbsp;mode tcp&lt;BR /&gt;&amp;nbsp;balance roundrobin&lt;BR /&gt;&amp;nbsp;server kafka1 kafka-1.kafka.net:6668 check&lt;BR /&gt;&amp;nbsp;server kafka2 kafka-2.kafka.net:6669 check&lt;BR /&gt;&amp;nbsp;server kafka3 kafka-3.kafka.net:6666 check&lt;/P&gt;&lt;P&gt;I also modified&lt;/P&gt;&lt;P&gt;kafka1 server.properties&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;&lt;SPAN&gt;advertised.listeners=INTERNAL://:6667,LB://gateway.kafka.net:6668&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI&gt;&lt;SPAN&gt;listeners=INTERNAL://:6667,LB://:6668&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI&gt;&lt;SPAN&gt;listener.security.protocol.map=INTERNAL:SASL_PLAINTEXT,LB:SASL_PLAINTEXT&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI&gt;&lt;SPAN&gt;inter.broker.listener.name=INTERNAL&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI&gt;&lt;SPAN&gt;listener.name.LB.gssapi.sasl.jaas.config=com.sun.security.auth.module.Krb5LoginModule required doNotPrompt=true useKeyTab=true storeKey=true keyTab="/etc/security/keytabs/kafka.service.keytab"principal="kafka/gateway.&lt;A href="mailto:kafka.net@KAFKA.NET&amp;quot;;" target="_blank" rel="noopener"&gt;kafka.net@KAFKA.NET"&lt;/A&gt;&lt;/SPAN&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;kafka2 server.properties&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;&lt;SPAN&gt;advertised.listeners=INTERNAL://:6667,LB://gateway.kafka.net:6669&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI&gt;&lt;SPAN&gt;listeners=INTERNAL://:6667,LB://:6669&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI&gt;&lt;SPAN&gt;listener.security.protocol.map=INTERNAL:SASL_PLAINTEXT,LB:SASL_PLAINTEXT&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI&gt;&lt;SPAN&gt;inter.broker.listener.name=INTERNAL&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI&gt;&lt;SPAN&gt;listener.name.LB.gssapi.sasl.jaas.config=com.sun.security.auth.module.Krb5LoginModule required doNotPrompt=true useKeyTab=true storeKey=true keyTab="/etc/security/keytabs/kafka.service.keytab"principal="kafka/gateway.kafka.net@KAFKA.NET";&lt;/SPAN&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;kafka3 server.properties&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;&lt;SPAN&gt;advertised.listeners=INTERNAL://:6667,LB://gateway.kafka.net:6666&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI&gt;&lt;SPAN&gt;listeners=INTERNAL://:6667,LB://:6666&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI&gt;&lt;SPAN&gt;listener.security.protocol.map=INTERNAL:SASL_PLAINTEXT,LB:SASL_PLAINTEXT&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI&gt;&lt;SPAN&gt;inter.broker.listener.name=INTERNAL&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI&gt;&lt;SPAN&gt;listener.name.LB.gssapi.sasl.jaas.config=com.sun.security.auth.module.Krb5LoginModule required doNotPrompt=true useKeyTab=true storeKey=true keyTab="/etc/security/keytabs/kafka.service.keytab"principal="kafka/gateway.kafka.net@KAFKA.NET";&lt;/SPAN&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;amd use the command&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;/usr/hdp/current/kafka-broker/bin/kafka-console-producer.sh --topic my-topic --broker-list gateway.kafka.net:6677 --producer-property security.protocol=SASL_PLAINTEXT&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Will get the error:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;[2024-10-08 20:07:58,330] ERROR [Producer clientId=console-producer] Connection to node -1 failed authentication due to: Authentication failed due to invalid credentials with SASL mechanism GSSAPI (org.apache.kafka.clients.NetworkClient)&lt;BR /&gt;[2024-10-08 20:07:58,330] ERROR Error when sending message to topic my-topic5 with key: null, value: 0 bytes with error: (org.apache.kafka.clients.producer.internals.ErrorLoggingCallback)&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Tue, 08 Oct 2024 05:12:47 GMT</pubDate>
      <guid>https://community.cloudera.com/t5/Support-Questions/How-to-set-Kerberos-Kafka-Haproxy-Load-Balancer/m-p/394731#M248789</guid>
      <dc:creator>polingsky202</dc:creator>
      <dc:date>2024-10-08T05:12:47Z</dc:date>
    </item>
    <item>
      <title>Re: How to set Kerberos Kafka  + Haproxy (Load Balancer)</title>
      <link>https://community.cloudera.com/t5/Support-Questions/How-to-set-Kerberos-Kafka-Haproxy-Load-Balancer/m-p/399245#M250455</link>
      <description>&lt;P&gt;&lt;FONT size="2"&gt;&lt;a href="https://community.cloudera.com/t5/user/viewprofilepage/user-id/53342"&gt;@polingsky202&lt;/a&gt;&amp;nbsp;&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="2"&gt;To configure &lt;STRONG&gt;HAProxy&lt;/STRONG&gt; to connect three Kafka brokers with &lt;STRONG&gt;Kerberos authentication&lt;/STRONG&gt; and resolve the &lt;FONT color="#FF0000"&gt;Authentication failed due to invalid credentials with SASL mechanism GSSAPI&lt;/FONT&gt; error, follow these steps:&lt;BR /&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;H3&gt;&lt;STRONG&gt;Step 1: Review the Current Configuration&lt;/STRONG&gt;&lt;/H3&gt;&lt;P&gt;The provided configuration shows:&lt;/P&gt;&lt;OL&gt;&lt;LI&gt;&lt;STRONG&gt;HAProxy&lt;/STRONG&gt; is configured for load balancing using &lt;FONT color="#FF0000"&gt;roundrobin&lt;/FONT&gt;.&lt;/LI&gt;&lt;LI&gt;Kafka brokers are set up with:&lt;UL&gt;&lt;LI&gt;&lt;FONT color="#FF0000"&gt;advertised.listeners&lt;/FONT&gt; and &lt;FONT color="#FF0000"&gt;listeners&lt;/FONT&gt; for internal and LB connections.&lt;/LI&gt;&lt;LI&gt;SASL GSSAPI configured with Kerberos.&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;/OL&gt;&lt;P&gt;&lt;STRONG&gt;Issue Likely Causes&lt;/STRONG&gt;:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;Kerberos principal or keytab file mismatch.&lt;/LI&gt;&lt;LI&gt;Improper mapping of advertised listener names.&lt;/LI&gt;&lt;LI&gt;Client-side misconfiguration for Kerberos authentication.&lt;/LI&gt;&lt;/UL&gt;&lt;H3&gt;&lt;STRONG&gt;Step 2: Correct and Optimize HAProxy Configuration&lt;/STRONG&gt;&lt;/H3&gt;&lt;P&gt;Update the &lt;STRONG&gt;HAProxy configuration&lt;/STRONG&gt; to correctly pass Kerberos authentication to Kafka brokers.&lt;/P&gt;&lt;H4&gt;Updated &lt;FONT color="#FF0000"&gt;haproxy.cfg&lt;BR /&gt;&lt;/FONT&gt;&lt;/H4&gt;&lt;LI-SPOILER&gt;&lt;FONT color="#993366"&gt;listen kafka&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#993366"&gt;bind *:6677&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#993366"&gt;mode tcp&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#993366"&gt;balance roundrobin&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#993366"&gt;option tcp-check&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#993366"&gt;server kafka1 kafka-1.kafka.net:6668 check&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#993366"&gt;server kafka2 kafka-2.kafka.net:6669 check&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#993366"&gt;server kafka3 kafka-3.kafka.net:6666 check&lt;/FONT&gt;&lt;/LI-SPOILER&gt;&lt;H4&gt;&lt;FONT color="#000000"&gt;&lt;STRONG&gt;Key updates above in the haproxy config file&lt;/STRONG&gt;:&lt;/FONT&gt;&lt;/H4&gt;&lt;UL&gt;&lt;LI&gt;&lt;STRONG&gt;Mode TCP&lt;/STRONG&gt;: Ensures TCP passthrough for Kerberos authentication.&lt;/LI&gt;&lt;LI&gt;&lt;STRONG&gt;Option tcp-check&lt;/STRONG&gt;: Validates backend server availability.&lt;/LI&gt;&lt;/UL&gt;&lt;H3&gt;&lt;STRONG&gt;Step 3: Verify Kafka Broker Configuration&lt;/STRONG&gt;&lt;/H3&gt;&lt;P&gt;Ensure the &lt;STRONG&gt;Kerberos configuration&lt;/STRONG&gt; for each broker is consistent and properly aligned.&lt;/P&gt;&lt;H4&gt;Key Points:&lt;/H4&gt;&lt;OL&gt;&lt;LI&gt;&lt;P&gt;&lt;STRONG&gt;advertised.listeners&lt;/STRONG&gt;:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;Ensure the &lt;FONT color="#FF0000"&gt;LB&lt;/FONT&gt; listener matches the address clients will connect to via HAProxy (e.g.&amp;nbsp;&lt;FONT color="#FF0000"&gt;gateway.kafka.net&lt;/FONT&gt;).&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;LI&gt;&lt;P&gt;&lt;STRONG&gt;Kerberos JAAS Configuration&lt;/STRONG&gt;:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;Validate the &lt;FONT color="#FF0000"&gt;listener.name.LB.gssapi.sasl.jaas.config&lt;/FONT&gt; entry for all brokers.&lt;/LI&gt;&lt;LI&gt;Ensure the &lt;STRONG&gt;keyTab&lt;/STRONG&gt; file exists and has correct permissions:&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;/OL&gt;&lt;LI-SPOILER&gt;&lt;FONT color="#993366"&gt;ls -l /etc/security/keytabs/kafka.service.keytab&lt;/FONT&gt;&lt;/LI-SPOILER&gt;&lt;H4&gt;&lt;FONT size="3"&gt;Example Updated&amp;nbsp;&lt;STRONG&gt;kafka1&lt;/STRONG&gt; Broker Configuration:&lt;/FONT&gt;&lt;/H4&gt;&lt;LI-SPOILER&gt;&lt;FONT size="4" color="#993366"&gt;&lt;SPAN class="hljs-attr"&gt;advertised.listeners&lt;/SPAN&gt;=INTERNAL://:&lt;SPAN class="hljs-number"&gt;6667&lt;/SPAN&gt;,LB://gateway.kafka.net:&lt;SPAN class="hljs-number"&gt;6668&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN class="hljs-attr"&gt;listeners&lt;/SPAN&gt;=INTERNAL://:&lt;SPAN class="hljs-number"&gt;6667&lt;/SPAN&gt;,LB://:&lt;SPAN class="hljs-number"&gt;6668&lt;/SPAN&gt; &lt;SPAN class="hljs-attr"&gt;listener.security.protocol.map&lt;/SPAN&gt;=INTERNAL:SASL_PLAINTEXT,LB:SASL_PLAINTEXT &lt;SPAN class="hljs-attr"&gt;inter.broker.listener.name&lt;/SPAN&gt;=INTERNAL &lt;SPAN class="hljs-attr"&gt;listener.name.LB.gssapi.sasl.jaas.config&lt;/SPAN&gt;=com.sun.security.auth.module.Krb5LoginModule required \ &lt;SPAN class="hljs-attr"&gt;doNotPrompt&lt;/SPAN&gt;=&lt;SPAN class="hljs-literal"&gt;true&lt;/SPAN&gt; useKeyTab=&lt;SPAN class="hljs-literal"&gt;true&lt;/SPAN&gt; storeKey=&lt;SPAN class="hljs-literal"&gt;true&lt;/SPAN&gt; \ &lt;SPAN class="hljs-attr"&gt;keyTab&lt;/SPAN&gt;=&lt;SPAN class="hljs-string"&gt;"/etc/security/keytabs/kafka.service.keytab"&lt;/SPAN&gt; \ &lt;SPAN class="hljs-attr"&gt;principal&lt;/SPAN&gt;=&lt;SPAN class="hljs-string"&gt;"kafka/gateway.kafka.net@KAFKA.NET"&lt;/SPAN&gt;&lt;SPAN class="hljs-comment"&gt;;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/LI-SPOILER&gt;&lt;P&gt;Repeat similar updates for &lt;STRONG&gt;kafka2&lt;/STRONG&gt; and &lt;STRONG&gt;kafka3&lt;/STRONG&gt; with their respective listener ports.&lt;/P&gt;&lt;H3&gt;&lt;FONT size="3"&gt;&lt;STRONG&gt;Step 4: Update Kerberos Configuration&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/H3&gt;&lt;P&gt;Ensure that Kerberos configuration is consistent across all systems.&lt;/P&gt;&lt;OL&gt;&lt;LI&gt;&lt;P&gt;&lt;STRONG&gt;Validate Kerberos &lt;/STRONG&gt;&lt;FONT color="#FF0000"&gt;krb5.conf &lt;FONT color="#000000"&gt;e&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color="#000000"&gt;nsure&lt;/FONT&gt; the file includes the correct realm and KDC information:&lt;/P&gt;&lt;/LI&gt;&lt;/OL&gt;&lt;LI-SPOILER&gt;&lt;P&gt;&lt;FONT color="#993366"&gt;[libdefaults]&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#993366"&gt;default_realm = KAFKA.NET&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#993366"&gt;[realms]&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#993366"&gt;KAFKA.NET = {&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#993366"&gt;kdc = your-kdc-host&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#993366"&gt;admin_server = your-kdc-admin-host&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#993366"&gt;}&lt;/FONT&gt;&lt;/P&gt;&lt;/LI-SPOILER&gt;&lt;H4&gt;&lt;FONT color="#FF0000"&gt;&lt;FONT size="3" color="#000000"&gt;&lt;STRONG&gt;2. Test Kerberos Principal&lt;/STRONG&gt;: Verify the principal works with the keytab:&lt;/FONT&gt;&lt;BR /&gt;&lt;/FONT&gt;&lt;/H4&gt;&lt;LI-SPOILER&gt;&lt;FONT color="#993366"&gt;kinit -kt /etc/security/keytabs/kafka.service.keytab kafka/gateway.kafka.net@KAFKA.NET&lt;/FONT&gt;&lt;/LI-SPOILER&gt;&lt;H3&gt;&lt;FONT size="3"&gt;&lt;STRONG&gt;Step 5: Verify Client Configuration&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/H3&gt;&lt;P&gt;&lt;FONT size="3"&gt;The client is attempting to authenticate with Kerberos. Ensure the &lt;STRONG&gt;producer properties&lt;/STRONG&gt; are configured correctly u&lt;/FONT&gt;&lt;FONT size="3"&gt;pdated Producer Command: see below&lt;/FONT&gt;&lt;/P&gt;&lt;LI-SPOILER&gt;&lt;FONT color="#993366"&gt;/usr/hdp/current/kafka-broker/bin/kafka-console-producer.sh \&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#993366"&gt;--topic my-topic \&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#993366"&gt;--broker-list gateway.kafka.net:6677 \&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#993366"&gt;--producer-property security.protocol=SASL_PLAINTEXT \&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#993366"&gt;--producer-property sasl.kerberos.service.name=kafka&lt;/FONT&gt;&lt;/LI-SPOILER&gt;&lt;H4&gt;&lt;FONT size="4" color="#000000"&gt;&lt;STRONG&gt;Key Properties&lt;/STRONG&gt;:&lt;/FONT&gt;&lt;/H4&gt;&lt;UL&gt;&lt;LI&gt;&lt;FONT color="#FF0000"&gt;security.protocol=SASL_PLAINTEXT&lt;/FONT&gt;: Specifies Kerberos authentication.&lt;/LI&gt;&lt;LI&gt;&lt;FONT color="#FF0000"&gt;sasl.kerberos.service.name=kafka:&lt;/FONT&gt; Matches the Kerberos principal’s service name.&lt;/LI&gt;&lt;/UL&gt;&lt;H3&gt;&lt;FONT size="3"&gt;&lt;STRONG&gt;Step 6: Test and Troubleshoot&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/H3&gt;&lt;P&gt;&lt;STRONG&gt;Enable Debug Logging&lt;/STRONG&gt;: Add &lt;FONT color="#FF0000"&gt;-Dsun.security.krb5.debug=true&lt;/FONT&gt; to the JVM options for the client to debug Kerberos issues&lt;/P&gt;&lt;LI-SPOILER&gt;export KAFKA_OPTS="-Dsun.security.krb5.debug=true"&lt;/LI-SPOILER&gt;&lt;P&gt;&lt;STRONG&gt;Check Logs&lt;/STRONG&gt;:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;On the client side, check for detailed Kerberos errors in the output.&lt;/LI&gt;&lt;LI&gt;On Kafka brokers, inspect logs for authentication errors:&lt;/LI&gt;&lt;/UL&gt;&lt;LI-SPOILER&gt;&lt;FONT color="#993366"&gt;less /var/log/kafka/server.log&lt;/FONT&gt;&lt;/LI-SPOILER&gt;&lt;H4&gt;&lt;FONT color="#FF0000"&gt;&lt;FONT size="4" color="#000000"&gt;&lt;STRONG&gt;3. Verify Connectivity&lt;/STRONG&gt;: Use &lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size="4"&gt;&lt;FONT color="#FF0000"&gt;telnet&lt;/FONT&gt;&lt;FONT color="#000000"&gt; or &lt;/FONT&gt;&lt;FONT color="#FF0000"&gt;nc&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color="#FF0000"&gt;&lt;FONT size="4" color="#000000"&gt; to confirm connectivity to HAProxy and brokers&lt;BR /&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/H4&gt;&lt;LI-SPOILER&gt;&lt;FONT color="#993366"&gt;telnet gateway.kafka.net 6677&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#993366"&gt;telnet kafka-1.kafka.net 6668&lt;/FONT&gt;&lt;/LI-SPOILER&gt;&lt;H3&gt;&lt;FONT size="4"&gt;&lt;STRONG&gt;Final Checklist&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/H3&gt;&lt;UL&gt;&lt;LI&gt;Ensure all brokers have consistent Kerberos configurations.&lt;/LI&gt;&lt;LI&gt;Verify the client-side &lt;FONT color="#FF0000"&gt;security.protocol&lt;/FONT&gt; and &lt;FONT color="#FF0000"&gt;sasl.kerberos.service.name&lt;/FONT&gt; settings.&lt;/LI&gt;&lt;LI&gt;Ensure HAProxy uses TCP passthrough &lt;FONT color="#FF0000"&gt;(mode tcp&lt;/FONT&gt;) for Kerberos.&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;With these adjustments, the Kerberos authentication error should be resolved. Let me know if further clarification is needed!&lt;BR /&gt;&lt;BR /&gt;Happy hadooping&lt;/P&gt;&lt;H4&gt;&lt;FONT color="#FF0000"&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/FONT&gt;&lt;/H4&gt;&lt;P&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;</description>
      <pubDate>Sun, 22 Dec 2024 13:33:21 GMT</pubDate>
      <guid>https://community.cloudera.com/t5/Support-Questions/How-to-set-Kerberos-Kafka-Haproxy-Load-Balancer/m-p/399245#M250455</guid>
      <dc:creator>Shelton</dc:creator>
      <dc:date>2024-12-22T13:33:21Z</dc:date>
    </item>
    <item>
      <title>Re: How to set Kerberos Kafka  + Haproxy (Load Balancer)</title>
      <link>https://community.cloudera.com/t5/Support-Questions/How-to-set-Kerberos-Kafka-Haproxy-Load-Balancer/m-p/400912#M250997</link>
      <description>&lt;P&gt;Hello&amp;nbsp;&lt;/P&gt;&lt;DIV class="dcxa-lithium-author-name"&gt;&lt;a href="https://community.cloudera.com/t5/user/viewprofilepage/user-id/53342"&gt;@polingsky202&lt;/a&gt;&amp;nbsp;,&lt;/DIV&gt;&lt;DIV class="dcxa-lithium-author-name"&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV class="dcxa-lithium-author-name"&gt;&lt;SPAN&gt;i'm facing the same problem and had the same errors on logs implementing HAproxy with 3 brokers.&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV class="dcxa-lithium-author-name"&gt;&lt;SPAN&gt;Have you solved this issue ?&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV class="dcxa-lithium-author-name"&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV class="dcxa-lithium-author-name"&gt;&lt;SPAN&gt;Thank you for your help.&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV class="dcxa-lithium-author-name"&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV class="dcxa-lithium-author-name"&gt;&lt;SPAN&gt;Best regards.&lt;/SPAN&gt;&lt;/DIV&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Thu, 23 Jan 2025 17:16:41 GMT</pubDate>
      <guid>https://community.cloudera.com/t5/Support-Questions/How-to-set-Kerberos-Kafka-Haproxy-Load-Balancer/m-p/400912#M250997</guid>
      <dc:creator>arraiano78</dc:creator>
      <dc:date>2025-01-23T17:16:41Z</dc:date>
    </item>
  </channel>
</rss>

