Eseguire la migrazione di soluzioni .NET per HDInsight basato su Windows a HDInsight basato su Linux

I cluster HDInsight basati su Linux usano Mono (https://mono-project.com) per eseguire le applicazioni .NET. Mono consente di usare i componenti .NET, ad esempio applicazioni MapReduce con HDInsight basato su Linux. In questo documento vengono fornite informazioni su come eseguire la migrazione di soluzioni .NET create per fare funzionare i cluster HDInsight basati su Windows con Mono in HDInsight basato su Linux.

Compatibilità Mono con .NET

La versione Mono 4.2.1 è inclusa nella versione 3.5 di HDInsight. Per altre informazioni sulla versione Mono compresa in HDInsight, vedere Componenti e versioni di Hadoop disponibili in HDInsight. Per installare una versione specifica di Mono, vedere il documento Install or update Mono (Installare o aggiornare Mono).

Per informazioni dettagliate sulla compatibilità tra Mono e .NET, vedere il documento sulla compatibilità Mono (http://www.mono-project.com/docs/about-mono/compatibility/).

Importante

Il framework SCP.NET è compatibile con Mono. Per altre informazioni sull'uso di SCP.NET con Mono, vedere Sviluppare topologie C# per Apache Storm in HDInsight tramite gli strumenti Hadoop per Visual Studio.

Analisi di portabilità automatizzata

.NET Portability Analyzer può essere usato per generare un rapporto di incompatibilità tra l'applicazione e Mono. Per configurare l'analizzatore per il controllo dell'applicazione per la portabilità Mono, usare la procedura seguente:

  1. Installare .NET Portability Analyzer. Durante l'istallazione, selezionare la versione di Visual Studio da usare.

  2. Da Visual Studio 2015, selezionare Analizza > Portability Analyzer Settings (Impostazioni analizzatore portabilità) e assicurarsi che 4.5 sia selezionato nella sezione Mono.

    4.5 selezionato nella sezione Mono per le impostazioni di analisi

    Selezionare OK per salvare la configurazione.

  3. Selezionare Analizza > Analyze Assembly Portability (Analizza portabilità assembly). Selezionare l'assembly che contiene la soluzione e quindi selezionare Apri per iniziare l'analisi.

  4. Una volta completata l'analisi, selezionare Analizza > View analysis reports (Visualizza rapporti di analisi). In Portability Analysis Results (Risultati analisi di portabilità) selezionare Open report (Apri rapporto) per aprire un rapporto.

    Finestra di dialogo dei risultati dell'analizzatore di portabilità

Importante

L'analizzatore non può intercettare tutti i problemi con la soluzione. Ad esempio, un percorso di file di c:\temp\file.txt è considerato OK poiché Mono viene eseguito in Windows e il percorso è valido in quel contesto. Tuttavia, il percorso non è valido in una piattaforma Linux.

Analisi di portabilità manuale

Eseguire un controllo manuale del codice usando le informazioni nel documento sulla portabilità delle applicazioni (http://www.mono-project.com/docs/getting-started/application-portability/).

Modificare e compilare

È possibile continuare a usare Visual Studio per creare soluzioni di .NET per HDInsight. Tuttavia, è necessario assicurarsi che il progetto sia configurato per usare .NET Framework 4.5.

Distribuire e testare

Dopo aver modificato la soluzione con i consigli forniti da .NET Portability Analyzer o da un'analisi manuale, è necessario eseguirne il test con HDInsight. Fare il test della soluzione in un cluster HDInsight basato su Linux può rivelare problemi meno evidenti che devono essere corretti. Si consiglia di abilitare l'accesso aggiuntivo dell'applicazione durante l'esecuzione del test.

Per altre informazioni sull'accesso ai log, vedere i documenti seguenti:

Passaggi successivi