Resolver problemas relacionados com o Apache Spark com o Azure HDInsight
Saiba mais sobre os principais problemas e suas resoluções ao trabalhar com cargas úteis do Apache Spark no Apache Ambari.
Como configuro uma aplicação Apache Spark através do Apache Ambari em clusters?
Os valores de configuração do Spark podem ser ajustados para ajudar a evitar uma exceção do aplicativo OutofMemoryError
Apache Spark. As etapas a seguir mostram os valores de configuração padrão do Spark no Azure HDInsight:
Faça login no Ambari em
https://CLUSTERNAME.azurehdidnsight.net
com suas credenciais de cluster. A tela inicial exibe um painel de visão geral. Existem ligeiras diferenças cosméticas entre o HDInsight 4.0.Navegue até Spark2>Configs.
Na lista de configurações, selecione e expanda Custom-spark2-defaults.
Procure a configuração de valor que você precisa ajustar, como spark.executor.memory. Neste caso, o valor de 9728m é muito alto.
Defina o valor para a configuração recomendada. O valor 2048m é recomendado para essa configuração.
Salve o valor e, em seguida, salve a configuração. Selecione Guardar.
Escreva uma nota sobre as alterações de configuração e selecione Salvar.
Você será notificado se alguma configuração precisar de atenção. Observe os itens e, em seguida, selecione Continuar mesmo assim.
Sempre que uma configuração é salva, você é solicitado a reiniciar o serviço. Selecione Reiniciar.
Confirme a reinicialização.
Você pode revisar os processos que estão em execução.
Você pode adicionar configurações. Na lista de configurações, selecione Custom-spark2-defaults e, em seguida, selecione Add Property.
Defina uma nova propriedade. Você pode definir uma única propriedade usando uma caixa de diálogo para configurações específicas, como o tipo de dados. Ou, você pode definir várias propriedades usando uma definição por linha.
Neste exemplo, a propriedade spark.driver.memory é definida com um valor de 4g.
Salve a configuração e reinicie o serviço conforme descrito nas etapas 6 e 7.
Essas alterações abrangem todo o cluster, mas podem ser substituídas quando você envia o trabalho do Spark.
Como configuro um aplicativo Apache Spark usando um Jupyter Notebook em clusters?
Na primeira célula do Jupyter Notebook, após a diretiva %%configure , especifique as configurações do Spark no formato JSON válido. Altere os valores reais conforme necessário:
Como configuro uma aplicação Apache Spark através do Apache Livy em clusters?
Envie o aplicativo Spark para a Livy usando um cliente REST como cURL. Use um comando semelhante ao seguinte. Altere os valores reais conforme necessário:
curl -k --user 'username:password' -v -H 'Content-Type: application/json' -X POST -d '{ "file":"wasb://container@storageaccountname.blob.core.windows.net/example/jars/sparkapplication.jar", "className":"com.microsoft.spark.application", "numExecutors":4, "executorMemory":"4g", "executorCores":2, "driverMemory":"8g", "driverCores":4}'
Como configuro uma aplicação Apache Spark através de spark-submit em clusters?
Inicie o spark-shell usando um comando semelhante ao seguinte. Altere o valor real das configurações conforme necessário:
spark-submit --master yarn-cluster --class com.microsoft.spark.application --num-executors 4 --executor-memory 4g --executor-cores 2 --driver-memory 8g --driver-cores 4 /home/user/spark/sparkapplication.jar
Leitura extra
Envio de trabalho do Apache Spark em clusters HDInsight
Próximos passos
Se não viu o problema ou não conseguiu resolvê-lo, visite um dos seguintes canais para obter mais suporte:
Visão geral do gerenciamento de memória do Spark.
Depurando o aplicativo Spark em clusters HDInsight.
Obtenha respostas de especialistas do Azure através do Suporte da Comunidade do Azure.
Conecte-se com o @AzureSupport - a conta oficial do Microsoft Azure para melhorar a experiência do cliente. Ligar a comunidade do Azure aos recursos certos: respostas, suporte e especialistas.
Se precisar de mais ajuda, você pode enviar uma solicitação de suporte do portal do Azure. Selecione Suporte na barra de menus ou abra o hub Ajuda + suporte . Para obter informações mais detalhadas, consulte Como criar uma solicitação de suporte do Azure. O acesso ao suporte para Gestão de Subscrições e faturação está incluído na sua subscrição do Microsoft Azure e o Suporte Técnico é disponibilizado através de um dos Planos de Suporte do Azure.