Проблемы с использованием KafkaDirect для связи Kafka RDMA
KafkaDirect Я пытаюсь установить KafkaDirect из репозитория GitHub, чтобы включить связь RDMA в Kafka.
Мое окружение следующее:
Кластер Ubuntu 20.04: Node1, Node2, Node3 Mellanox ConnectX-3 InfiniBand
KafkaDirect — это адаптация API RDMA на основе Java под названием DiSNI, настроенная для интеграции с Kafka. Я завершил процесс установки, как описано в ReadMe, включая установку DiSNI и KafkaDirect от ktaranov. ТарановК ДиСНИ
Впоследствии, когда Zookeeper и Kafka Cluster работали на трех узлах, возникли две проблемы:
Первая проблема заключается в том, что при сравнении производительности с использованием инструмента сравнительного анализа, упомянутого в файле сведений KafkaDirect, производительность без RDMA была значительно выше, чем с RDMA.
Вторая проблема заключается в том, что при установке коэффициента репликации тематических разделов Kafka более 2 и создании данных репликация между брокерами вообще не происходит.
В процессе отправки данных в тему Kafka из приложения-производителя или инструмента тестирования я наблюдал трафик в инструменте мониторинга InfiniBand RDMA (collectl). Однако репликация между брокерами вообще не происходит. (Настройка кластера из трех узлов в файлах конфигурации ZooKeeper и Kafka завершена.)
Инструмент сравнительного анализа без RDMA
Инструмент сравнительного анализа с RDMA
Без использования RDMA это занимает около 4 секунд, тогда как с RDMA — до 55 секунд.
Репликация между брокерами не происходит, что приводит к удалению подписчиков из списка ISR (In-Sync Replicas).
Поскольку трафик возникает во время производственного процесса, что указывает на то, что связь RDMA, похоже, работает, я был бы признателен за любые краткие сведения, которые вы можете предоставить относительно потенциальных причин этих проблем. Спасибо.