sql >> Database >  >> RDS >> Mysql

Hive 1.2 Metastore-service start niet nadat deze is geconfigureerd voor S3-opslag in plaats van HDFS

  1. 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.
  2. 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.




  1. SQL-query voor het ophalen van gegevens van de afgelopen 3 maanden

  2. Goed idee/slecht idee? MySQL RAND() gebruiken buiten een kleine set subqueryresultaten?

  3. Foutafhandeling beheren tijdens het uitvoeren van sqlplus vanuit shellscripts

  4. SQL Server moet gegevens partitioneren, maar heeft alleen een standaardeditie