Size: a a a

2019 October 18

T

T in Data Engineers
ну или просто fat jar сделать
источник

T

T in Data Engineers
Alex
Ну или плохая идея использовать бут ;)
но вот этот совет конечно лучше
источник

GP

Grigory Pomadchin in Data Engineers
Nikita Blagodarnyy
Получается, при сабмите уже не используется spring boot url class loader?
нет
источник

GP

Grigory Pomadchin in Data Engineers
мне интересно почему обычный лоадер не находит классов? я не читал статьи что ты кинул))
источник

N

Nikita Blagodarnyy in Data Engineers
T
ну или просто fat jar сделать
Это и есть fat jar. Просто со специфическими путями внутри. Которые, как я понял, может разжевать boot class loader, но не может разжевать хадупор
источник

A

Alex in Data Engineers
Nikita Blagodarnyy
Получается, при сабмите уже не используется spring boot url class loader?
Смотри ситуацию:
У тебя есть Jar с минимумом классов для бутстрапа

java -jar app.jar запускает этот бутстрап класс

Тот создаёт кастомный класлоадер, лезет в кишки jar и добавляет из папочки либ все нужные классы

Для работы используется он и вроде все хорошо

Когда ты внутри делаешь сабмит, то доходят до парента, находят твой app.jar и заливают его как зависимость

Дальше в твоём случае получается жопа:
Основной класс апмастера лежит отдельно и твой джар это как зависимость подгруженная, поэтому он находит только бутстрап классы, все что внутри lib он не знает
источник

A

Alex in Data Engineers
Хадуп просто не знает формат как этот Jar сформирован и что там оказывается ещё где-то другие jar как ресурсы лежат
источник

N

Nikita Blagodarnyy in Data Engineers
А если вот сюда докинуть hbase либы?
источник

A

Alex in Data Engineers
Я помню код из beam/spark/flink это происходит: берётся текущий класлоадер у класса, кастится небезопасно к urlclassloader, а у того есть список файлов что находятся в класспасе

Это не работает с 11 джавой, так как поменялась иерархия класлоадеров, и теперь AppClassloader не имеет в иерархии urlclassloader
источник

GP

Grigory Pomadchin in Data Engineers
я думаю ты можешь кинуть hbase в класспас кластера
источник

GP

Grigory Pomadchin in Data Engineers
и тогда заведется
источник

N

Nikita Blagodarnyy in Data Engineers
источник

A

Alex in Data Engineers
Grigory Pomadchin
я думаю ты можешь кинуть hbase в класспас кластера
Да, один из вариантов
источник

A

Alex in Data Engineers
У тебя же полетело, нашло slice-maker.jar, залило его, но толку мало
источник

GP

Grigory Pomadchin in Data Engineers
аааа понятно
источник

GP

Grigory Pomadchin in Data Engineers
и правда
источник

GP

Grigory Pomadchin in Data Engineers
но я думаю можно чтото придумать со сборкой то чтобы завелось
источник

A

Alex in Data Engineers
А не помню можно ли буту сказать чтобы он распаковал все классы внутри и получил именно fat jar, но сейчас с мобилки :) гуглить неудобно
источник

‌‎ in Data Engineers
Народ, а что почитать на тему best practices при настройке найфая?
источник

N

Nikita Blagodarnyy in Data Engineers
‌‎
Народ, а что почитать на тему best practices при настройке найфая?
pierrevillard
источник