Accéder au contenu principal Passer au contenu complémentaire

Limite de mémoire lors de l'utilisation du tMatchIndexPredict pour Apache Spark Streaming

Pourquoi et quand exécuter cette tâche

Lorsque le composant tMatchIndexPredict est utilisé dans un Job Spark Streaming, il échange des données avec le serveur Elasticsearch de manière répétée. Les données de requête et de réponse sont stockées dans le cache de la mémoire tampon. Lorsque la taille maximale de la mémoire du Job est atteinte, l'erreur suivante survient :
Exception in thread "I/O dispatcher 1329" java.lang.OutOfMemoryError: Direct buffer memory
	at java.nio.Bits.reserveMemory(Bits.java:694)
	at java.nio.DirectByteBuffer.<init>(DirectByteBuffer.java:123)
	at java.nio.ByteBuffer.allocateDirect(ByteBuffer.java:311)

Procédure

  1. Allez dans l'onglet Run job > Advanced settings.
  2. Cochez la case Use specific JVM arguments.
    La table Argument est activée.
  3. Cliquez sur New.
    La boîte de dialogue Set the VM Argument s'affiche.
  4. Saisissez -Djdk.nio.maxCachedBufferSize=1048576.
  5. Cliquez sur OK.
  6. Sauvegardez le Job puis exécutez-le.

Cette page vous a-t-elle aidé ?

Si vous rencontrez des problèmes sur cette page ou dans son contenu – une faute de frappe, une étape manquante ou une erreur technique – dites-nous comment nous améliorer !