We are pleased to announce that Message Hub now runs KMessageHubafka 0.10. Kafka 0.10 was released in May and brings in a number of interesting new features and many enhancements. The most notable feature for Message Hub users is the support of SASL PLAIN. This means the official Kafka client does not require our custom login module anymore and now works out of the box with Message Hub.

Configuring your client to use SASL PLAIN is done in 3 steps:

  1. Create a jaas.conf file:

    KafkaClient {
        org.apache.kafka.common.security.plain.PlainLoginModule required
        username="<USER>"
        password="<PASSWORD>";
    };
  2. Add the file location to your JVM arguments

    -Djava.security.auth.login.config=<PATH TO FILE>/jaas.conf
  3. Set the following values in your Consumer and Producer properties files

    security.protocol=SASL_SSL
    sasl.mechanism=PLAIN
    ssl.protocol=TLSv1.2
    ssl.enabled.protocols=TLSv1.2
    ssl.truststore.location=<JRE_HOME>/lib/security/cacerts
    ssl.truststore.password=changeit
    ssl.truststore.type=jks

You can find more details about configuring your clients to use SASL PLAIN in the Kafka documentation. We’ve also added a section in our docs about migrating your existing 0.9 clients to 0.10.

Alternative clients

A new Python client

Confluent, the company founded by the creators of Kafka, has released a Python client (https://github.com/confluentinc/confluent-kafka-python). It is built as a thin bindings layer on top of librdkafka and works for both Python 2 and 3.

To use with Message Hub, simply pass these properties in when creating a Producer/Consumer:

'ssl.ca.location': '/etc/ssl/certs/',
'sasl.mechanisms': 'PLAIN',
'sasl.username': '<USER>',
'sasl.password': '<PASSWORD>',
'security.protocol': 'sasl_ssl'

Note: The value of ‘ssl.ca.location depends’ on your operating system. For example:

  • Ubuntu: /etc/ssl/certs/
  • RedHat: /etc/pki/tls/cert.pem
  • OS X: select system root certificates from Keychain Access and export as .pem on the filesystem.

And a few more

In addition, there are a few third-party clients that have already been updated to support 0.10 features and can connect to Message Hub. In the following months, we expect more to follow.

We’ve tested the following clients so far, but any client that supports Kafka 0.10 and SASL PLAIN should work:

Join The Discussion

Your email address will not be published.