Как добавить зависимость в flink minikube cluster?

#java #kubernetes #apache-flink

#java #kubernetes #apache-flink

Вопрос:

У меня есть job jar, который зависит от flink-json-1.7.2.jar , flink-table_2.11-1.7.2.jar . Это отлично работает на моем локальном компьютере, если я добавлю эти две банки в папку lib flink. Как я могу добиться того же в моем кластере мини-кубов. т.е. добавить зависимости в flink. Ps. Я настроил свой мини-куб, следуя этой документации.

Также я вижу, что эти jar добавляются в fat jar, созданный при сборке job jar.введите описание изображения здесь

Ответ №1:

Из-за проблемы в Apache Calcite, которая предотвращает сборку мусора в пользовательских загрузчиках классов, мы не рекомендуем создавать fat-jar, который включает зависимость flink-table. Вместо этого мы рекомендуем настроить Flink для включения зависимости flink-table в системный classloader. Это можно сделать, скопировав flink-таблицу.файл jar из папки ./opt в папку ./lib.

ИЗ документов

Ответ №2:

Поскольку вы внедрили Flink job на локальном компьютере, я предполагаю, что было бы возможно создать свой собственный конкретный образ Docker и включить туда запрошенные файлы *.jar, как описано здесь. Несмотря на то, что вы уже загрузили minikube кластер Kubernetes, настроенный образ Docker также можно использовать в соответствующих файлах развертывания Kubernetes для задания Flink.