#mongodb #apache-kafka #apache-kafka-connect #mongodb-kafka-connector
#mongodb #apache-kafka #apache-kafka-connect #mongodb-kafka-connector
Вопрос:
Я столкнулся с тем, что моя тема, несмотря на запуск и работу, не регистрирует события, происходящие в моем MongoDB.
Каждый раз, когда я вставляю / изменяю запись, я больше не получаю журналы из kafka-console-consumer
команды.
Может быть, есть способ очистить кэш / смещение Кафки? Подключение к источнику и приемнику запущено и запущено. Весь кластер также исправен, дело в том, что все работало как обычно, но каждые пару недель я вижу, что это возвращается или когда я вхожу в свое облако Mongo из другого места.
--partition 0
параметр не помог, изменился retention_ms
на 1
too.
Я проверил состояние обоих соединителей и получил RUNNING
:
curl localhost:8083/connectors | jq
curl localhost:8083/connectors/monit_people/status | jq
При запуске docker-compose logs connect
я обнаружил:
WARN Failed to resume change stream: Resume of change stream was not possible, as the resume point may no longer be in the oplog. 286
If the resume token is no longer available then there is the potential for data loss.
Saved resume tokens are managed by Kafka and stored with the offset data.
When running Connect in standalone mode offsets are configured using the:
`offset.storage.file.filename` configuration.
When running Connect in distributed mode the offsets are stored in a topic.
Use the `kafka-consumer-groups.sh` tool with the `--reset-offsets` flag to reset offsets.
Resetting the offset will allow for the connector to be resume from the latest resume token.
Using `copy.existing=true` ensures that all data will be outputted by the connector but it will duplicate existing data.
Future releases will support a configurable `errors.tolerance` level for the source connector and make use of the `postBatchResumeToken
Комментарии:
1. Ты скучаешь
--from-beginning
? В противном случае вы будете читать только новые сообщения. И как вы проверяете работоспособность разъема? Исправный / исправный есть только проверка работоспособности http-сервера connect, ни один отдельный соединитель не работает2. Я не использовал
--from-beginning
at, который также работал в прошлом. Я бежалcurl localhost:8083/connectors | jq
сcurl localhost:8083/connectors/monit_people/status | jq
и статус естьRUNNING
3. Какой разъем mongo вы используете? Останавливаются ли ваши изображения docker в какой-либо момент в этот период «каждые пару недель»? Если это так, и вы не используете монтирование томов, то да — Docker удаляет данные Kafka
4. Вы также можете искать ошибки в
docker-compose logs connect
5. Соединители:
https://www.confluent.io/hub/mongodb/kafka-connect-mongodb
иhttps://www.confluent.io/hub/snowflakeinc/snowflake-kafka-connector
. Когда я заканчиваю обучение, я просто помещаю docker imagie сdocker container stop $(docker container ls -a -q -f "label=io.confluent.docker")
Ответ №1:
Проблема требует больше практики с платформой Confluent, поэтому на данный момент я перестроил всю среду, удалив весь контейнер с:
docker system prune -a -f --volumes
docker container stop $(docker container ls -a -q -f "label=io.confluent.docker")
.
После запуска docker-compose up -d
все работает и работает.