2009-07-13 3 views
0

Мне нужна мощная машина, которая будет запускать мой .NET-код один час в день. Я не могу использовать EC2, потому что он отключит все мои данные при выключении. Мне нужен виртуальный ПК, который я могу запустить в определенное время, и этот компьютер должен запустить мой .exe/service/независимо. Могу ли я попросить Amazon MapReduce запустить экземпляр Windows и выполнить мой код?Могу ли я запустить приложение .NET (или метод из .NET dll) в Amazon Elastic MapReduce?

ответ

2

Amazon MapReduce - это веб-сервис для обработки большого фрагмента данных - не где-то запустить ваш .net-код.

EC2 - это виртуальный серверный хостинг. Можете ли вы сохранить данные на внешний веб-сервис, на своей собственной машине или на S3? Эта библиотека доступна от .net: http://developer.amazonwebservices.com/connect/entry.jspa?externalID=129

+0

Я могу сохранить свое приложение и данные на S3. Но как я могу сказать, что новый экземпляр EC2 запускает мое приложение, когда оно запущено? –

+0

Вы можете настроить все, что хотите на экземпляре, и настроить приложение для запуска при запуске. Затем «свяжите» экземпляр (http://docs.amazonwebservices.com/AWSEC2/latest/GettingStartedGuide/index.html?bundling-an-image-windows.html) все ваши настройки сохраняются в AMI, который сохраняется на S3 , Затем вы можете запускать/останавливать настроенный AMI, когда захотите. – russau

1

Amazon Elastic MapReduce предназначен для интеграции с EC2 и S3, предоставляя инфраструктуру для интенсивных приложений обработки данных.

MapReduce сосредоточен вокруг концепции Job Flow, где каждое задание может содержать один или несколько шагов. Каждый шаг берет некоторые данные из S3, распределяет их по экземплярам EC2, а затем записывает результаты обратно в S3.

Итак, вы должны загрузить ваше приложение и данные на S3, а затем настроить количество и тип экземпляров EC2, указать местоположение вашего приложения и ваши данные на S3, а затем запустить работу. Существует несколько способов запуска задания: вход в консоль управления AWS или использование API exisitng или инструментов командной строки.

Существует также C# Library for MapReduce available from Amazon, который может помочь.

Однако вы должны обратить внимание на то, что ваше приложение должно использовать модель программирования MapReduce, чтобы иметь возможность работать распределенно, поэтому вы действительно не можете просто запустить какой-либо код .Net.

another post here with some good answers, относящийся к .Net-структурам в отношении реализации MapReduce.

Смежные вопросы