Наше задание flink отлично работает в локальном режиме, но при попытке развернуть его в кластере пряжи выдает ошибку ниже.
Версия Flink: 1.5.0 Jackson 2.6.7
Caused by: java.io.InvalidClassException: com.fasterxml.jackson.databind.ObjectMapper; local class incompatible: stream classdesc serialVersionUID = 2, local class serialVersionUID = 1
Я пробовал использовать разные версии Flink, и проблема возникает со всеми версиями.
DataStream stream = DataStreamManager
.getStatusUpdateStream(kafkaConsumerConfig, env)
.filter(new CheckStatusUpdate())
.keyBy(new OrderUpdateKeySelector());
stream.process(new ProcessBookingUpdatesEvents(config)).setParallelism(processBookingUpdatesEventsParallelism)
.process(new ExecuteOrderStatusUpdateNotifierFilter(config)).setParallelism(filterParallelism)
.process(new ProcessOrderPostFiltering(config,communicationConfig)).setParallelism(processOrderPostFilteringParallelism);
Команда для отправки задания Flink:
export HADOOP_CLASSPATH=`hadoop classpath`;HADOOP_CONF_DIR=/etc/hadoop/conf flink-1.5.0/bin/flink run -m yarn-cluster -yn 2 -ys 1 -yjm 2048 -ytm 4096 -yst -ynm order_updates -yqu default -p 1 -c com.order.workflow.consumer.flink.OrderStatusUpdateJob orchestrator-build-1.0.21-staging.jar config.yml