Sdílet prostřednictvím


Scénář: RpcTimeoutException pro server Apache Spark thrift ve službě Azure HDInsight

Tento článek popisuje kroky řešení potíží a možná řešení problémů při používání komponent Apache Sparku v clusterech Azure HDInsight.

Problém

Aplikace Spark selže s org.apache.spark.rpc.RpcTimeoutException výjimkou a zprávou: Futures timed out, jako v následujícím příkladu:

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 a overhead limit exceeded chyby se mohou objevit také v následujícím příkladu sparkthriftdriver.log :

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

Příčina

Tyto chyby jsou způsobeny nedostatkem paměťových prostředků během zpracování dat. Pokud se spustí proces uvolňování paměti Java, může to vést k tomu, že aplikace Spark přestane reagovat. Dotazy začnou vypršení časového limitu a zastaví zpracování. Tato Futures timed out chyba značí cluster s těžkým stresem.

Rozlišení

Zvětšete velikost clusteru přidáním dalších pracovních uzlů nebo zvýšením kapacity paměti stávajících uzlů clusteru. Můžete také upravit datový kanál tak, aby se snížil objem zpracovávaných dat najednou.

Určuje spark.network.timeout časový limit pro všechna síťová připojení. Zvýšení časového limitu sítě může umožnit dokončení některých kritických operací více času, ale tím se problém zcela nevyřeší.

Další kroky

Pokud jste problém neviděli nebo nemůžete problém vyřešit, navštivte jeden z následujících kanálů, kde najdete další podporu:

  • Získejte odpovědi od odborníků na Azure prostřednictvím podpory komunity Azure.

  • Spojte se s @AzureSupport – oficiálním účtem Microsoft Azure pro zlepšení uživatelského prostředí. Propojení komunity Azure se správnými prostředky: odpovědi, podpora a odborníci.

  • Pokud potřebujete další pomoc, můžete odeslat žádost o podporu z webu Azure Portal. V řádku nabídek vyberte možnost Podpora nebo otevřete centrum nápovědy a podpory . Podrobnější informace najdete v tématu Vytvoření žádosti o podpora Azure. Součástí předplatného Microsoft Azure je přístup ke správě předplatného a podpora fakturace. Technická podpora se poskytuje prostřednictvím některého z plánů podpory Azure.