- Je kunt absoluut geen versies van de Hadoop-common-, hadoop-aws-, aws-s3-sdk- en Jackson-versies mixen van wat alles verwacht, anders krijg je stacktraces.
- En het is allemaal open source, dus als je alle bron-JAR's lokaal D/L gebruikt, zal je IDE je helpen te vinden wat de stacktracering veroorzaakt. Dit is wat we allemaal doen . Het is geen magie, moderne IDE's (intellij IDEA) hebben zelfs speciale stackdebugging.
Deze komt binnen omdat de waarde van fs.s3a.multipart.size
ingesteld in hadoop-common's /core-default.xml
bron is 100 miljoen, die binnenkwam met HADOOP-13680
en de bereik-parsing-afhandelingsnummers zoals "100M" in plaats van 104857600. Deze stacktracering zegt "Hadoop 2.8+ configuratie"
Je zou kunnen proberen de eigenschap in je configuraties in te stellen op die numerieke waarde, maar het is een waarschuwing dat versies van JAR's niet synchroon lopen en je zult waarschijnlijk maar een paar regels verder komen voordat er iets anders kapot gaat.
Oplossing:zorg ervoor dat hadoop-common.jar
en hadoop-aws.jar
zijn synchroon. Het lijkt erop dat je de jackson en aws op een rij hebt staan, hoewel jackson al ingewikkeld genoeg is, dat kun je nooit als vanzelfsprekend beschouwen.