Обратите внимание, что это наводит на интересную мысль о том, когда использовать WAL, а когда нет. По умолчанию запись в WAL включена, и данные всегда записываются в WAL. Но если вы уверены, что данные можно перезаписать или небольшая потеря не повлияет на общий результат обработки, вы отключите запись в WAL. WAL обеспечивает простое и окончательное восстановление. Это основная причина, по которой по умолчанию он всегда включен. В сценариях, когда потеря данных неожиданна, следует оставить настройки по умолчанию; в противном случае измените его на использование memstore. Альтернативно вы можете запланировать аварийное восстановление.
Как настроить автоматическое восстановление? Я вижу 2 варианта:
- Я пишу в HBase без WAL (только в memstore) и каким-то образом уведомляюсь, что записи были потеряны и не зафиксированы на диске. Затем я возвращаюсь к журналу Kafka и воспроизвожу его. или
- Я пишу в HBase без WAL (только в memstore) и время от времени получаю от HBase уведомление о том, какое смещение Kafka можно зафиксировать.
Подробнее здесь: https://stackoverflow.com/questions/681 ... from-kafka
Мобильная версия