Scala-код для проверки наличия или отсутствия брокера (сервера) kafka - PullRequest
0 голосов
/ 07 декабря 2018

Как проверить, доступен ли сервер Kafka или нет.

Я попробовал ниже scala code -Producer API.

  val props = new Properties()
  props.put("bootstrap.servers", "hworker.dev.m.private:7667")
  props.put("acks", "1")
  props.put("key.serializer", "org.apache.kafka.common.serialization.StringSerializer")
  props.put("value.serializer", "org.apache.kafka.connect.json.JsonSerializer")

Могу ли я узнать, как проверить, доступен ли вышеуказанный сервер начальной загрузки или нет.

1 Ответ

0 голосов
/ 07 декабря 2018

Один из вариантов - использовать Kafka AdminClient , как показано ниже.Он вернет TimeOutException, если сервер не отвечает.

private static final TIMEOUT_MS = 5000;           
 try (AdminClient client = AdminClient.create(props)) {
            client.listTopics(new ListTopicsOptions().timeoutMs(TIMEOUT_MS)).listings().get();
        } catch (ExecutionException ex) {
            LOG.error("Kafka is not available, timed out after {} ms", TIMEOUT_MS);
            return;
        }

PS Это будет работать для версии Kafka 0.11+.

...