Ajout de propriétés Spark avancées pour résoudre des problèmes - 7.1

Spark Batch

author
Talend Documentation Team
EnrichVersion
7.1
EnrichProdName
Talend Big Data
Talend Big Data Platform
Talend Data Fabric
Talend Real-Time Big Data Platform
task
Création et développement > Création de Jobs > Frameworks de Jobs > Spark Batch
EnrichPlatform
Studio Talend

Selon la distribution que vous utilisez ou les problèmes auxquels vous êtes confrontés, vous aurez peut-être besoin d'ajouter des propriétés Spark spécifiques à la table Advanced properties dans l'onglet Spark configuration de la vue Run de votre Job.

Vous pouvez également définir des métadonnées de connexion à Hadoop dans le Repository. Dans son assistant, cochez la case Use Spark properties pour ouvrir la table des propriétés et ajoutez la ou les propriété(s) à utiliser, par exemple depuis spark-defaults.conf de votre cluster. Lorsque vous réutilisez cette connexion dans vos Jobs Apache Spark, les propriétés Spark avancées que vous avez ajoutées sont automatiquement ajoutées aux configurations de Spark pour ces Jobs.

Les informations contenues dans cette section concernent uniquement les utilisateurs ayant souscrit à Talend Data Fabric ou à un produit Talend avec Big Data et ne sont pas applicables aux utilisateurs de Talend Open Studio for Big Data.

Les propriétés avancées et leurs valeurs nécessaires aux différentes distributions Hadoop ou pour certains problèmes sont listées ci-dessous :

Pour plus d'informations concernant les propriétés Spark valides, consultez la documentation Spark à l'adresse https://spark.apache.org/docs/latest/configuration (en anglais).

Délai spécifique avant suspension, dans Spark

Lorsque vous rencontrez des problèmes de réseau, Spark, par défaut, attend 45 minutes avant d'arrêter ses tentatives pour soumettre les Jobs. Lorsque ces 45 minutes sont écoulées, Spark déclenche la fin automatique de votre Job.

Ajoutez les propriétés suivantes à la table Hadoop properties du tHDFSConfiguration afin de réduire ce délai.

  • ipc.client.ping : false. Cela évite d'effectuer des pings si le serveur ne répond pas.

  • ipc.client.connect.max.retries : 0. Indique le nombre de nouvelles tentatives s'il y a une réponse à la demande de connexion mais qu'elle est refusée.

  • yarn.resourcemanager.connect.retry-interval.ms : saisissez n'importe quel chiffre ou nombre. Cela indique la fréquence des tentatives de connexion au service ResourceManager jusqu'à ce que Spark abandonne.

Hortonworks Data Platform V2.4

  • spark.yarn.am.extraJavaOptions : -Dhdp.version=2.4.0.0-169

  • spark.driver.extraJavaOptions : -Dhdp.version=2.4.0.0-169

De plus, vous devez ajouter -Dhdp.version=2.4.0.0-169 dans la zone JVM settings, soit dans l'onglet Advanced settings de la vue Run, ou dans la zone Talend > Run/Debug de la fenêtre Preferences. L'installation de cet argument dans la fenêtre [Preferences] s'applique à tous les Jobs conçus dans le même Studio.

MapR V5.1 et V5.2

Lorsque vous utilisez le cluster avec les composants HBase ou MapRDB :

spark.hadoop.yarn.application.classpath : saisissez la valeur de ce paramètre spécifique à votre cluster et ajoutez, s'il n'est pas renseigné, le classpath vers HBase pour vous assurer que le Job à utiliser trouve les classes et les packages dans le cluster.

Par exemple, si la version HBase installée dans le cluster est 1.1.1, copiez-collez tous les chemins d'accès définis dans le paramètre spark.hadoop.yarn.application.classpath de votre cluster et ajoutez ensuite opt/mapr/hbase/hbase-1.1.1/lib/* et /opt/mapr/lib/* à ces chemins d'accès. Les chemins d'accès ajoutés indiquent les endroits où HBase est généralement installée dans le cluster MapR. Si votre HBase est installée autre part, contactez l'administrateur de votre cluster pour plus de détails et pour adapter ces chemins d'accès.

Pour une explication étape par étape concernant l'ajout de ce paramètre, consultez HBase/MapR-DB Jobs cannot run successfully with MapR(en anglais). .

Sécurité

Sur la machine où est installé le Studio avec Big Data, des outils de scan peuvent rapporter un problème de vulnérabilité (CVE vulnerability issue, en anglais) lié à Spark. Cependant, ce problème n'a aucun impact sur Spark, comme expliqué par la communauté Spark (en anglais), car cette vulnérabilité concerne uniquement la bibliothèque client Apache Thrift Go, que Spark n'utilise pas. Cette alerte ne concerne donc pas le Studio et ne nécessite aucune action.