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.
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: