Исключение ADF V2: невозможно прочитать данные из транспортного соединения: существующее соединение было принудительно закрыто удаленным хостом - PullRequest
0 голосов
/ 06 сентября 2018

У меня проблема с фабрикой данных Azure V2. Я разрабатываю пользовательский пакетный сервис Azure (на самом деле это просто консоль) для расчета наших данных и составления отчета. В ходе этого процесса мне нужно проанализировать множество огромных таблиц и использовать поток для чтения и записи данных и результатов.

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

Кроме того, если я запускаю консоль на своем локальном компьютере или на виртуальной машине Azure (связь через удаленный рабочий стол), все они работают нормально, около 6 часов. Хотя этот процесс в ADF v2 занял 48 часов и получил эту ошибку:

Unhandled Exception: System.AggregateException: One or more errors occurred. ---> Microsoft.WindowsAzure.Storage.StorageException: Unable to read data from the transport connection: An existing connection was forcibly closed by the remote host. ---> System.IO.IOException: Unable to read data from the transport connection: An existing connection was forcibly closed by the remote host. ---> System.Net.Sockets.SocketException: An existing connection was forcibly closed by the remote host


   at System.Net.Sockets.Socket.Receive(Byte[] buffer, Int32 offset, Int32 size, SocketFlags socketFlags)
   at System.Net.Sockets.NetworkStream.Read(Byte[] buffer, Int32 offset, Int32 size)
   --- End of inner exception stack trace ---
   at System.Net.ConnectStream.Read(Byte[] buffer, Int32 offset, Int32 size)
   at Microsoft.WindowsAzure.Storage.Core.ByteCountingStream.Read(Byte[] buffer, Int32 offset, Int32 count)
   at System.IO.StreamReader.ReadBuffer(Char[] userBuffer, Int32 userOffset, Int32 desiredChars, Boolean& readToUserBuffer)
   at System.IO.StreamReader.Read(Char[] buffer, Int32 index, Int32 count)
   at Microsoft.Data.OData.Json.JsonReader.ReadInput()
   at Microsoft.Data.OData.Json.JsonReader.ParseStringPrimitiveValue(Boolean& hasLeadingBackslash)
   ....

Кроме того, я проверяю stdout.txt, и аналитический процесс даже не был активирован, кажется, что он мертв при инициализации (или выполнении операций заказа / группирования) данных из больших таблиц.

Процесс останавливается при этом коде:

ReportHelper.Users = user.OrderByDescending(u => u.Timestamp).GroupBy(p => p.Id, StringComparer.OrdinalIgnoreCase).ToDictionary(g => g.Key, g => g.First(), StringComparer.OrdinalIgnoreCase);

Кто-то считает, что это из-за того, что памяти узла недостаточно, я проверяю на портале Azure, что он говорит, что размер виртуальной машины равен "standard_a1".

Дело в том, что я ничего не могу изменить на узле. Как я могу решить эту проблему?

Буду очень признателен за вашу помощь!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...