Als u een Spark Job op Amazon EMR 3.x of EMR 4.x wilt uitvoeren, moet u de volgende dingen doen:
1) U kunt de spark-defaults.conf . vermelden eigenschappen tijdens het bootstrappen, d.w.z. u kunt de configuratie van Driver Classpath . wijzigen en Uitvoerder Classpath property en ook maximizeResourceAllocation (Vraag indien nodig om meer informatie in opmerkingen.) docs
2) U moet alle vereiste potten downloaden, d.w.z. (mysql-connector.jar en mariadb-connector.jar) in uw geval MariaDB- en MySQL-connector JDBC-jars naar alle klassenpadlocaties zoals Spark, Yarn en Hadoop op alle Nodes of het is MASTER, CORE of TASK (Spark On Yarn-scenario dekt het meest) bootstrap-scripts docs
3) En als uw Spark Job alleen communiceert van Driver node naar uw database, dan heeft u deze misschien alleen nodig door --jars te gebruiken en geeft je geen uitzondering en werkt prima.
4) Beveel je ook aan om Master te proberen als yarn-cluster in plaats van lokaal of garen-client
In jouw geval, als je MariaDB of MySQL gebruikt, kopieer dan je jars op $SPARK_HOME/lib , $HADOOP_HOME/lib enz. op elk knooppunt van uw cluster en probeer het vervolgens.
Later kunt u Bootstrap-acties . gebruiken om uw potten op alle knooppunten te kopiëren tijdens de tijd van het maken van clusters.
Reageer hieronder voor meer informatie.