2017-02-03 7 views
0

Я пытаюсь использовать инструмент Mirrormaker для репликации данных из одного основного кластера в резервный, но я получил следующую ошибку.Ошибка с инструментом kafka Mirrormaker [kafka version 0.10]

nykpsr000001726$ bin/kafka-mirror-maker.sh --consumer.config config/mirror-consumer.properties --producer.config config/mirror- 
producer.properties --whitelist my-replicated-topic 

    [2017-02-03 06:17:00,193] FATAL [mirrormaker-thread-0] Mirror maker thread failure due to (kafka.tools.MirrorMaker$MirrorMaker 
    Thread) 
    java.lang.IllegalArgumentException: Invalid timestamp -1 
      at org.apache.kafka.clients.producer.ProducerRecord.<init>(ProducerRecord.java:60) 
      at kafka.tools.MirrorMaker$defaultMirrorMakerMessageHandler$.handle(MirrorMaker.scala:678) 
      at kafka.tools.MirrorMaker$MirrorMakerThread.run(MirrorMaker.scala:414) 
    [2017-02-03 06:17:00,422] FATAL [mirrormaker-thread-0] Mirror maker thread exited abnormally, stopping the whole mirror maker. 

bellow - подробная информация о конфигурации для потребителей и производителей.

mirror-consumer.properties

group.id=KafkaMirror-test-1 
# consumer timeout should be -1 (default) 
zookeeper.connect=ldnpsr000001131:2181 
auto.offset.reset=smallest 

mirror-producer.properties

bootstrap.servers=nykpsr000001726:9092 

Действительно appriciate для быстрой подсказки.

+0

Можете ли вы указать версию Kafka, на которой вы работаете? –

+0

Я запускаю версию Kafka 0.10 и используя сторонний инструмент тестирования для генерации тестовых сообщений. Я считаю, что несовместимость из-за 0.10 и 0.10 вызывает эту проблему. Еще раз спасибо за поддержку @ jose.goncabel – Joey

ответ

0

кажется, что вы столкнулись с проблемой, с отметками времени, официальная документация говорит:

В настоящее время Кафка Streams не обрабатывает недействительным (т.е. отрицательный) отметки времени вернулись из TimestampExtractor изящно, но терпит неудачу с исключение, поскольку отрицательные метки времени не могут обрабатываться значимым образом для любых операторов, основанных на времени, таких как агрегаты окон или объединения.

Отрицательная временная метка может произойти по нескольким причинам.

  1. Вы потребляете тему, написанную старыми клиентами производителя Кафки (то есть, версия 0.9 или выше), которые не используют новый формат сообщения, и, таким образом, мета-метка времени данные поля по умолчанию -1, если тема настраивается с помощью log.message.timestamp.type = CreateTime
  2. Вы используете тему до 0.10 после обновления кластера Kafka от 0,9 до 0,10: здесь все данные, которые были сгенерированы с производителями 0,9, несовместимы с форматом сообщений 0.10 (и по умолчанию используется отметка времени -1)
  3. Вы потребляете тему, которую записывает сторонний продюсерский клиент, который позволяет вставлять отрицательные метки времени (KafkaProducer проверяет отрицательную метку времени a вызывает исключение для этого случая, предотвращая, в первую очередь, недопустимую метку времени)
  4. Пользователь предоставляет специальный инструмент выделения временной метки, который извлекает временную метку для данных полезной нагрузки (то есть пара значений ключа), и этот пользовательский экстрактор может возвращать отрицательные метки времени ,

Here вы можете прочитать всю информацию.

+0

Спасибо за ваше предложение @ jose.goncabel, я проверю его еще раз. – Joey

 Смежные вопросы

  • Нет связанных вопросов^_^