Megosztás a következőn keresztül:


Forgatókönyv: RpcTimeoutException az Apache Spark thrift-kiszolgálóhoz az Azure HDInsightban

Ez a cikk az Apache Spark-összetevők Azure HDInsight-fürtökben való használatakor felmerülő problémák hibaelhárítási lépéseit és lehetséges megoldásait ismerteti.

Probléma

A Spark-alkalmazás kivétellel és üzenettel org.apache.spark.rpc.RpcTimeoutException meghiúsul: Futures timed out, ahogy az alábbi példában is látható:

org.apache.spark.rpc.RpcTimeoutException: Futures timed out after [120 seconds]. This timeout is controlled by spark.rpc.askTimeout
 at org.apache.spark.rpc.RpcTimeout.org$apache$spark$rpc$RpcTimeout$$createRpcTimeoutException(RpcTimeout.scala:48)

OutOfMemoryError és overhead limit exceeded a hibák is megjelenhetnek a sparkthriftdriver.log következő példában látható módon:

WARN  [rpc-server-3-4] server.TransportChannelHandler: Exception in connection from /10.0.0.17:53218
java.lang.OutOfMemoryError: GC overhead limit exceeded

Ok

Ezeket a hibákat a memóriaerőforrások hiánya okozza az adatfeldolgozás során. Ha elindul a Java szemétgyűjtési folyamata, az a Spark-alkalmazás válaszának leállításához vezethet. A lekérdezések időtúllépésnek indulnak, és leállítják a feldolgozást. A Futures timed out hiba egy súlyos stressz alatt álló fürtöt jelez.

Feloldás

Növelje a fürt méretét több munkavégző csomópont hozzáadásával vagy a meglévő fürtcsomópontok memóriakapacitásának növelésével. Az adatfolyamot úgy is módosíthatja, hogy csökkentse az egyszerre feldolgozott adatok mennyiségét.

Az spark.network.timeout összes hálózati kapcsolat időtúllépését szabályozza. A hálózati időtúllépés növelése több időt hagyhat néhány kritikus művelet befejezésére, de ez nem oldja meg teljesen a problémát.

Következő lépések

Ha nem látja a problémát, vagy nem tudja megoldani a problémát, további támogatásért látogasson el az alábbi csatornák egyikére:

  • Azure-szakértőktől kaphat válaszokat az Azure Közösségi támogatáson keresztül.

  • Csatlakozzon a @AzureSupport - a hivatalos Microsoft Azure-fiókhoz az ügyfélélmény javításához. Az Azure-közösség csatlakoztatása a megfelelő erőforrásokhoz: válaszok, támogatás és szakértők.

  • Ha további segítségre van szüksége, küldjön támogatási kérést a Azure Portal. A menüsávon válassza a Támogatás lehetőséget, vagy nyissa meg a Súgó + támogatási központot. További információ: Azure-támogatás kérés létrehozása. Az előfizetés-kezeléshez és a számlázási támogatáshoz való hozzáférés a Microsoft Azure-előfizetés részét képezi, a technikai támogatás pedig az Egyik Azure-támogatási csomagon keresztül érhető el.