- Absolutnie nie możesz mieszać wersji Hadoop-common, hadoop-aws, aws-s3-sdk i jackson od tego, czego oczekuje wszystko, w przeciwnym razie zobaczysz ślady stosu.
- I to wszystko jest open source, więc jeśli odrzucisz wszystkie źródła JARs lokalnie, Twoje IDE pomoże Ci znaleźć przyczynę śledzenia stosu. To właśnie robimy wszyscy . To nie magia, nowoczesne IDE (intellij IDEA) mają nawet specjalne debugowanie stosu.
Ten nadchodzi, ponieważ wartość fs.s3a.multipart.size
ustawić w /core-default.xml
hadoop-common zasób to 100 mln, który wszedł z HADOOP-13680
i numery obsługi analizowania zakresu, takie jak „100M” zamiast 104857600 . Ten ślad stosu mówi „Konfiguracja Hadoop 2.8+”
Możesz spróbować ustawić właściwość w swoich konfiguracjach na tę wartość liczbową, ale jest to znak ostrzegawczy, że wersje plików JAR nie są zsynchronizowane i prawdopodobnie dostaniesz się tylko kilka linii dalej, zanim coś innego się zepsuje.
Poprawka:upewnij się, że hadoop-common.jar
i hadoop-aws.jar
są zsynchronizowane. Wygląda na to, że masz w kolejce jackson i aws, chociaż jackson jest na tyle skomplikowany, że nigdy nie możesz tego uznać za pewnik.