ЗАДАНИЕ AWS Glue: сбой команды с кодом ошибки 1

У нас есть скрипт python для нашего клеевого задания, и триггеры запускаются каждый час для преобразования JSON S3 в файлы паркета, и мы получаем следующую проблему. Следующие журналы берутся из облачных часов для jobId:

CoarseGrainedExecutorBackend: Driver commanded a shutdown
18/06/25 08:54:03 ERROR TransportResponseHandler: Still have 1 requests outstanding when connection from ip-172-31-34-26.ec2.internal/172.31.34.26:36135 is closed
18/06/25 08:54:03 ERROR OneForOneBlockFetcher: Failed while starting block fetches
java.io.IOException: Connection from ip-172-31-34-26.ec2.internal/172.31.34.26:36135 closed
        at org.apache.spark.network.client.TransportResponseHandler.channelInactive(TransportResponseHandler.java:146)
        at org.apache.spark.network.server.TransportChannelHandler.channelInactive(TransportChannelHandler.java:108)
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:241)
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:227)
        at io.netty.channel.AbstractChannelHandlerContext.fireChannelInactive(AbstractChannelHandlerContext.java:220)
        at io.netty.channel.ChannelInboundHandlerAdapter.channelInactive(ChannelInboundHandlerAdapter.java:75)
        at io.netty.handler.timeout.IdleStateHandler.channelInactive(IdleStateHandler.java:278)
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:241)
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:227)
        at io.netty.channel.AbstractChannelHandlerContext.fireChannelInactive(AbstractChannelHandlerContext.java:220)
        at io.netty.channel.ChannelInboundHandlerAdapter.channelInactive(ChannelInboundHandlerAdapter.java:75)
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:241)
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:227)
        at io.netty.channel.AbstractChannelHandlerContext.fireChannelInactive(AbstractChannelHandlerContext.java:220)
        at io.netty.channel.ChannelInboundHandlerAdapter.channelInactive(ChannelInboundHandlerAdapter.java:75)
        at org.apache.spark.network.util.TransportFrameDecoder.channelInactive(TransportFrameDecoder.java:182)
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:241)
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:227)
        at io.netty.channel.AbstractChannelHandlerContext.fireChannelInactive(AbstractChannelHandlerContext.java:220)
        at io.netty.channel.DefaultChannelPipeline$HeadContext.channelInactive(DefaultChannelPipeline.java:1289)
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:241)
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:227)
        at io.netty.channel.DefaultChannelPipeline.fireChannelInactive(DefaultChannelPipeline.java:893)
        at io.netty.channel.AbstractChannel$AbstractUnsafe$7.run(AbstractChannel.java:691)
        at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:399)
        at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:446)
        at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:131)
        at io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:144)
        at java.lang.Thread.run(Thread.java:748)
18/06/25 08:54:03 INFO CoarseGrainedExecutorBackend: Driver from 172.31.47.44:45951 disconnected during shutdown
18/06/25 08:54:03 INFO CoarseGrainedExecutorBackend: Driver from 172.31.47.44:45951 disconnected during shutdown
18/06/25 08:54:03 INFO RetryingBlockFetcher: Retrying fetch (1/3) for 1 outstanding blocks after 5000 ms
18/06/25 08:54:03 INFO MemoryStore: MemoryStore cleared
18/06/25 08:54:03 INFO BlockManager: BlockManager stopped
18/06/25 08:54:03 INFO ShutdownHookManager: Shutdown hook called

person rohith    schedule 25.06.2018    source источник
comment
Вы уверены, что это единственные интересные строки журнала? Я знаю, что искра может быть очень многословной, и иногда трудно понять, в чем была настоящая проблема. Глядя на эти строки журнала, я предположил, что это может быть причиной того, почему ошибка Driver commanded a shutdown.   -  person botchniaque    schedule 25.06.2018
comment
В других блогах я видел, что если размер файла больше, а задание достигает пропускной способности сети на этапе перемешивания, это приводит к сбою задания, как указано выше. Возможно, вы можете попробовать настроить конфигурации памяти или уменьшить количество исполнителей, которые помогли решить эту проблему. Вы можете следовать предложениям из этого stackoverflow.com/questions/49034126 / и дайте мне знать. Также см. это: forums.databricks.com/questions/10872/   -  person Yuva    schedule 25.06.2018
comment
Я подозреваю, что это из-за огромных данных во время преобразования. Можем ли мы удалить файлы из папки S3 (не ведра) с помощью любого сценария формирования облака? Дайте мне знать, есть ли какие-либо образцы для того же.   -  person rohith    schedule 26.06.2018
comment
Привет, я добавил параметр задания (для увеличения памяти) в задание, но он не увеличивал память, я вижу то же самое в журналах наблюдения за облаком, также мы пытались сохранить срок действия объекта в S3 до 45, чтобы уменьшить количество файлов, которые все еще проблема присутствует..   -  person rohith    schedule 05.07.2018
comment
работает за пределами физической памяти. Текущее использование: используется 5,6 ГБ из 5,5 ГБ физической памяти; Использовано 7,6 ГБ из 27,5 ГБ виртуальной памяти. Убийственный контейнер.   -  person rohith    schedule 05.07.2018


Ответы (3)


Откройте Glue> Jobs> Edit your Job> Библиотеки сценариев и параметры задания (необязательно)> Параметры задания внизу Установите следующее: key: --conf value: spark.yarn.executor.memoryOverhead=1024 spark.driver.memory=10g

person ashutosh singh    schedule 29.11.2018
comment
Почему? Не могли бы вы уточнить это? - person Francesco Ambrosini; 30.08.2019

Невозможно решить эту проблему, AWS Glue имеет так много улучшений, которые необходимо сделать. На данный момент мы разделили нашу папку на несколько подпапок и разделили нашу работу по склеиванию на две, чтобы справиться с этим сценарием, а также не учитывались накладные расходы памяти, когда мы давали наш собственный вариант сценария.

person rohith    schedule 24.07.2018

Вам нужно уменьшить количество файлов, которые вы храните в корзине S3, собирая данные в один большой файл, клей эффективен для больших файлов.

person rohith    schedule 21.02.2019
comment
Если вы думаете, что это ответ, ок. Но я бы сказал, что это может быть комментарий вместо этого. - person dpapadopoulos; 21.02.2019
comment
да, это единственный способ на сегодняшний день ... пока aws не предложит больше поддержки памяти. - person rohith; 21.02.2019