2009-07-13 3 views
0

Was ich brauche, ist eine leistungsstarke Maschine, die meinen .NET-Code eine Stunde pro Tag laufen lässt. Ich kann EC2 nicht verwenden, weil dadurch beim Herunterfahren alle meine Daten verloren gehen. Ich brauche einen virtuellen PC, den ich zu einer bestimmten Zeit starten kann, und dieser PC sollte meine .exe/service/was auch immer automatisch starten. Kann ich Amazon MapReduce bitten, eine Windows-Instanz zu starten und meinen Code auszuführen?Kann ich eine .NET-Anwendung (oder eine Methode von .NET dll) in Amazon Elastic MapReduce ausführen?

Antwort

2

Amazon MapReduce ist ein Webservice zur Verarbeitung großer Datenmengen - nicht für die Ausführung Ihres .net-Codes.

EC2 ist virtuelles Server-Hosting - können Sie Ihre Daten auf einem externen Webservice, auf Ihrem eigenen Rechner oder S3 speichern? Diese Bibliothek ist verfügbar unter: .net: http://developer.amazonwebservices.com/connect/entry.jspa?externalID=129

+0

Ich kann meine App und Daten in S3 speichern. Aber wie soll ich zu einer neuen EC2-Instanz sagen, um meine App zu starten, wenn sie gestartet wird? –

+0

Sie können beliebige Einstellungen für eine Instanz vornehmen und Ihre App so konfigurieren, dass sie beim Start ausgeführt wird. Dann bündeln Sie die Instanz (http://docs.amazonwebservices.com/AWSEC2/latest/GettingStartedGuide/index.html?bundling-an-image-windows.html) alle Ihre Einstellungen werden in einem AMI gespeichert, das in S3 gespeichert wird . Sie können dann Ihren angepassten AMI starten/stoppen, wann immer Sie möchten. – russau

1

Amazon Elastic MapReduce ist für die Integration in EC2 und S3 vorgesehen und bietet die Infrastruktur für intensive Datenverarbeitungsanwendungen.

MapReduce basiert auf dem Konzept des Jobflusses, bei dem jeder Job einen oder mehrere Schritte enthalten kann. Jeder Schritt nimmt einige Daten von S3, verteilt sie an die konfigurierten EC2-Instanzen und schreibt dann die Ergebnisse zurück an S3.

Also im Grunde sollten Sie Ihre Anwendung und Daten auf S3 hochladen, dann konfigurieren, wie viele und welche Art von EC2 Instanzen Sie möchten, geben Sie den Speicherort Ihrer Anwendung und Ihre Daten auf S3 und starten Sie den Job. Es gibt mehrere Möglichkeiten, wie Sie den Job starten können: Entweder Sie melden sich bei der AWS Management Console an oder Sie verwenden die vorhandenen APIs oder die Befehlszeilentools.

Es gibt auch eine C# Library for MapReduce available from Amazon, die helfen kann.

Sie sollten jedoch beachten, dass Ihre Anwendung MapReduce-Programmiermodell verwenden muss, um in der Lage zu sein, verteilt zu laufen, so dass Sie nicht wirklich jeden .Net-Code ausführen können.

Es gibt another post here with some good answers in Bezug auf .Net-Frameworks in Bezug auf die MapReduce-Implementierung.