Ошибка при отправке сообщения в тему теста с ключом: ноль, значение: 9 байт с ошибкой: не удалось обновить метаданные через 60000 мс - PullRequest
0 голосов
/ 25 апреля 2018

В нашей компании мы пытаемся настроить 3node Kafka кластер с SSL-шифрованием и аутентификацией SASL / Kerberos. Ниже то, что я сделал.

broker1, broker2, broker3 - мои имена хостов для 3 серверов kafka, а "kerberosServer" - это имя хоста сервера kerberos.

Я создал 3 принципа для kerberosServer: kafka/broker1@EXAMPLE.COM, kafka/broker2@EXAMPLE.COM, kafka/broker3@EXAMPLE.COM, создал таблицу ключей с именем kafka-server.keytab и добавил все вышеперечисленное. 3 принципа для kafka-server.keytab

Я могу вызвать кластер кафки. Но когда я пытаюсь создать несколько сообщений от клиента kafka, я получаю сообщение об ошибке ниже:

ОШИБКА Ошибка при отправке сообщения в тему теста с ключом: ноль, значение: 6 байт с ошибкой: не удалось обновить метаданные после 60000 мс. (Org.apache.kafka.clients.producer.internals.ErrorLoggingCallback)

Я использую сервер Kerberos в качестве клиента kafka, и я создал новую таблицу ключей для клиента с именем kafka_client.keytab и добавил новый принцип, называемый kafka-client/kerberosServer@EXAMPLE.COM. и ниже мои данные клиента:

файл client-sasl.properties:

    security.protocol=SASL_SSL

    sasl.kerberos.service.name=kafka
    ssl.truststore.location=/opt/ssl/kafka.client.truststore.jks
    ssl.truststore.password=affirmed

kafka_client_jaas.conf:

KafkaClient {
     com.sun.security.auth.module.Krb5LoginModule required debug=true
      useKeyTab=true
      storeKey=true
      keyTab="/etc/security/keytabs/kafka_client.keytab"
      principal="kafka-client/kerberosServer@EXAMPLE.COM";

};

при выполнении команды ниже, я получаю сообщение об ошибке

./kafka-console-producer.sh --broker-list broker1:9094,broker2:9094,broker3:9094 --topic test --producer.config ../config/client-sasl.properties
Debug is  true storeKey true useTicketCache false useKeyTab true doNotPrompt false ticketCache is null isInitiator true KeyTab is /etc/security/keytabs/kafka_client.keytab refreshKrb5Config is false principal is kafka-client/kerberosServer@EXAMPLE.COM tryFirstPass is false useFirstPass is false storePass is false clearPass is false
principal is kafka-client/kerberosServer@EXAMPLE.COM
Will use keytab
Commit Succeeded

sasllll
[2018-04-24 17:41:49,214] ERROR Error when sending message to topic test with key: null, value: 7 bytes with error: Failed to update metadata after 60000 ms. (org.apache.kafka.clients.producer.internals.ErrorLoggingCallback)
...