Migrare da un cluster HDInsight basato su Windows a un cluster basato su LinuxMigrate from a Windows-based HDInsight cluster to a Linux-based cluster

Questo documento illustra in dettaglio le differenze tra HDInsight in Windows e Linux.This document provides details on the differences between HDInsight on Windows and Linux. Fornisce inoltre materiale sussidiario su come eseguire la migrazione dei carichi di lavoro esistenti in un cluster basato su Linux.It also provides guidance on how to migrate existing workloads to a Linux-based cluster.

Anche se HDInsight basato su Windows fornisce un modo semplice per usare Hadoop nel cloud, potrebbe essere necessario eseguire la migrazione a un cluster basato su Linux.While Windows-based HDInsight provides an easy way to use Hadoop in the cloud, you may need to migrate to a Linux-based cluster. Ad esempio, per sfruttare i vantaggi di strumenti e tecnologie basati su Linux che sono necessari per la soluzione.For example, to take advantage of Linux-based tools and technologies that are required for your solution. Molti elementi nell'ecosistema Hadoop vengono sviluppati in sistemi basati su Linux e potrebbero non essere compatibili con HDInsight basato su Windows.Many things in the Hadoop ecosystem are developed on Linux-based systems, and may not be available for use with Windows-based HDInsight. Molti libri, video e altre forme di materiale didattico prevedono che si usi un sistema Linux quando si lavora con Hadoop.Many books, videos, and other training material assume that you are using a Linux system when working with Hadoop.

Nota

I cluster HDInsight usano il supporto a lungo termine Ubuntu (LTS) come sistema operativo per i nodi del cluster.HDInsight clusters use Ubuntu long-term support (LTS) as the operating system for the nodes in the cluster. Per informazioni sulla versione di Ubuntu disponibile con HDInsight e sulle versioni degli altri componenti, vedere le versioni dei componenti HDInsight.For information on the version of Ubuntu available with HDInsight, along with other component versioning information, see HDInsight component versions.

Attività di migrazioneMigration tasks

Il flusso di lavoro generale per la migrazione è il seguente:The general workflow for migration is as follows.

Diagramma del flusso di lavoro della migrazione

  1. Leggere interamente questo documento per comprendere le modifiche che potrebbero essere necessarie durante la migrazione.Read each section of this document to understand changes that may be required when migrating.

  2. Creare un cluster basato su Linux come ambiente di test/controllo qualità.Create a Linux-based cluster as a test/quality assurance environment. Per altre informazioni sulla creazione di un cluster basato su Linux, vedere Creare cluster Hadoop basati su Linux in HDInsight.For more information on creating a Linux-based cluster, see Create Linux-based clusters in HDInsight.

  3. Copiare processi esistenti, origini dati e sink nel nuovo ambiente.Copy existing jobs, data sources, and sinks to the new environment.

  4. Eseguire il test di convalida per assicurarsi che i processi funzionino come previsto nel nuovo cluster.Perform validation testing to make sure that your jobs work as expected on the new cluster.

Dopo avere verificato che tutto funzioni come previsto, pianificare i tempi di inattività per la migrazione.Once you have verified that everything works as expected, schedule downtime for the migration. Durante questo periodo di inattività, eseguire le operazioni seguenti:During this downtime, perform the following actions:

  1. Eseguire il backup tutti i dati temporanei archiviati localmente sui nodi del cluster,Back up any transient data stored locally on the cluster nodes. ad esempio se i dati sono archiviati direttamente in un nodo head.For example, if you have data stored directly on a head node.

  2. Eliminare il cluster basato su Windows.Delete the Windows-based cluster.

  3. Creare un cluster basato su Linux con lo stesso archivio dati predefinito usato dal cluster basato su Windows.Create a Linux-based cluster using the same default data store that the Windows-based cluster used. Il nuovo cluster basato su Linux può continuare a lavorare con i dati di produzione esistenti.The Linux-based cluster can continue working against your existing production data.

  4. Importare i dati temporanei di cui è stata eseguita una copia di backup.Import any transient data you backed up.

  5. Avviare processi/continuare l'elaborazione con il nuovo cluster.Start jobs/continue processing using the new cluster.

Copiare i dati nell'ambiente di testCopy data to the test environment

Esistono molti metodi per copiare dati e processi, ma i due metodi illustrati in questa sezione sono i più semplici per spostare direttamente i file in un cluster di prova.There are many methods to copy the data and jobs, however the two discussed in this section are the simplest methods to directly move files to a test cluster.

Copia HDFSHDFS copy

Usare la procedura seguente per copiare i dati dal cluster di produzione al cluster di test.Use the following steps to copy data from the production cluster to the test cluster. In queste procedure viene usata l'utilità hdfs dfs inclusa in HDInsight.These steps use the hdfs dfs utility that is included with HDInsight.

  1. Individuare le informazioni dell'account di archiviazione e del contenitore predefinito per il cluster esistente.Find the storage account and default container information for your existing cluster. Nell'esempio seguente viene usato PowerShell per recuperare queste informazioni:The following example uses PowerShell to retrieve this information:

    $clusterName="Your existing HDInsight cluster name"
    $clusterInfo = Get-AzureRmHDInsightCluster -ClusterName $clusterName
    write-host "Storage account name: $clusterInfo.DefaultStorageAccount.split('.')[0]"
    write-host "Default container: $clusterInfo.DefaultStorageContainer"
    
  2. Per creare un ambiente di test, seguire la procedura riportata nel documento Creare cluster basati su Linux in HDInsight.To create a test environment, follow the steps in the Create Linux-based clusters in HDInsight document. Prima di creare il cluster, interrompersi e selezionare Configurazione facoltativa.Stop before creating the cluster, and instead select Optional Configuration.

  3. Nella sezione Configurazione facoltativa selezionare Account di archiviazione collegati.From the Optional Configuration section, select Linked Storage Accounts.

  4. Selezionare Aggiungi una chiave di archiviazionee, quando richiesto, selezionare l'account di archiviazione restituito dallo script PowerShell nel passaggio 1.Select Add a storage key, and when prompted, select the storage account that was returned by the PowerShell script in step 1. Fare clic su Seleziona in ogni sezione.Click Select in each section. Al termine, creare il cluster.Finally, create the cluster.

  5. Dopo aver creato il cluster, connettersi tramite SSHOnce the cluster has been created, connect to it using SSH. Per altre informazioni, vedere Usare SSH con HDInsight.For more information, see Use SSH with HDInsight.

  6. Dalla sessione SSH usare il comando seguente per copiare i file dall'account di archiviazione collegato al nuovo account di archiviazione predefinito.From the SSH session, use the following command to copy files from the linked storage account to the new default storage account. Sostituire CONTAINER con le informazioni sul contenitore restituite da PowerShell.Replace CONTAINER with the container information returned by PowerShell. Sostituire ACCOUNT con il nome dell'account.Replace ACCOUNT with the account name. Sostituire il percorso dei dati con il percorso di un file di dati.Replace the path to data with the path to a data file.

    hdfs dfs -cp wasb://CONTAINER@ACCOUNT.blob.core.windows.net/path/to/old/data /path/to/new/location
    

    Nota

    Se la struttura della directory che contiene i dati non esiste nell'ambiente di test, è possibile crearla usando il comando seguente:If the directory structure that contains the data does not exist on the test environment, you can create it using the following command:

    hdfs dfs -mkdir -p /new/path/to/create
    

    L'opzione -p consente di creare tutte le directory nel percorso.The -p switch enables the creation of all directories in the path.

Copia diretta tra i BLOB in Archiviazione di AzureDirect copy between blobs in Azure Storage

In alternativa si può usare il cmdlet Start-AzureStorageBlobCopy di Azure PowerShell per copiare i BLOB tra gli account di archiviazione all'esterno di HDInsight.Alternatively, you may want to use the Start-AzureStorageBlobCopy Azure PowerShell cmdlet to copy blobs between storage accounts outside of HDInsight. Per altre informazioni, vedere la sezione Come gestire i BLOB di Azure del documento Uso di Azure PowerShell con Archiviazione di Azure.For more information, see the How to manage Azure Blobs section of Using Azure PowerShell with Azure Storage.

Tecnologie lato clientClient-side technologies

Le tecnologie lato client, ad esempio i cmdlet di Azure PowerShell, l'interfaccia della riga di comando di Azure o .NET SDK per Hadoop continuano a usare i cluster basati su Linux.Client-side technologies such as Azure PowerShell cmdlets, Azure CLI, or the .NET SDK for Hadoop continue to work Linux-based clusters. Queste tecnologie si basano sulle stesse API REST dei tipi di cluster del sistema operativo.These technologies rely on REST APIs that are the same across both cluster OS types.

Tecnologie lato serverServer-side technologies

La tabella seguente contiene indicazioni sulla migrazione dei componenti lato server specifici di Windows.The following table provides guidance on migrating server-side components that are Windows-specific.

Se si usa questa tecnologia...If you are using this technology... Eseguire questa operazione...Take this action...
PowerShell (script sul lato server, incluse le Azioni script usate durante la creazione del cluster)PowerShell (server-side scripts, including Script Actions used during cluster creation) Riscriverli come script di Bash.Rewrite as Bash scripts. Per le azioni script vedere Personalizzare cluster HDInsight basati su Linux tramite Azione script e Sviluppo di azioni script con HDInsight basati su Linux.For Script Actions, see Customize Linux-based HDInsight with Script Actions and Script action development for Linux-based HDInsight.
Interfaccia della riga di comando di Azure (script lato server)Azure CLI (server-side scripts) Anche se l'interfaccia della riga di comando di Azure è disponibile in Linux, non è preinstallata nei nodi head del cluster HDInsight.While the Azure CLI is available on Linux, it does not come pre-installed on the HDInsight cluster head nodes. Per altre informazioni sull'interfaccia della riga di comando di Azure, vedere Get started with Azure CLI 2.0 (Introduzione all'interfaccia della riga di comando di Azure 2.0).For more information on installing the Azure CLI, see Get started with Azure CLI 2.0.
Componenti .NET.NET components .NET è supportato nei cluster HDInsight basati su Linux tramite Mono..NET is supported on Linux-based HDInsight through Mono. Per ulteriori informazioni, vedere Eseguire la migrazione per le soluzioni .NET per HDInsight basato su Linux.For more information, see Migrate .NET solutions to Linux-based HDInsight.
Componenti di Win32 o altre tecnologie esclusive di WindowsWin32 components or other Windows-only technology La procedura dipende dal componente o dalla tecnologia.Guidance depends on the component or technology. È possibile trovare una versione compatibile con Linux.You may be able to find a version that is compatible with Linux. In caso contrario, è necessario trovare una soluzione alternativa o riscrivere questo componente.If not, you must find an alternate solution or rewrite this component.

Importante

L'SDK di gestione di HDInsight non è completamente compatibile con Mono.The HDInsight management SDK is not fully compatible with Mono. Non usarlo come parte delle soluzioni distribuite nel cluster HDInsight.Do not use it as part of solutions that are deployed to the HDInsight cluster.

Creazione del clusterCluster creation

Questa sezione illustra le differenze nella creazione del cluster.This section provides information on differences in cluster creation.

Utente SSHSSH User

I cluster HDInsight basati su Linux usano il protocollo Secure Shell (SSH) per fornire l'accesso remoto ai nodi del cluster.Linux-based HDInsight clusters use the Secure Shell (SSH) protocol to provide remote access to the cluster nodes. A differenza dei desktop remoti per i cluster basati Windows, la maggior parte dei client SSH non offrono un'esperienza utente con interfaccia grafica.Unlike Remote Desktop for Windows-based clusters, most SSH clients do not provide a graphical user experience. Al contrario, i client SSH offrono una riga di comando che consente di eseguire comandi nel cluster.Instead, SSH clients provide a command line that allows you to run commands on the cluster. Alcuni client, ad esempio MobaXterm, offrono un browser grafico per il file system oltre a una riga di comando remota.Some clients (such as MobaXterm) provide a graphical file system browser in addition to a remote command line.

Durante la creazione del cluster è necessario specificare un utente SSH e una password oppure un certificato di chiave pubblica per l'autenticazione.During cluster creation, you must provide an SSH user and either a password or public key certificate for authentication.

È consigliabile usare il certificato di chiave pubblica perché è più sicuro rispetto alla password.We recommend using Public key certificate, as it is more secure than using a password. L'autenticazione del certificato genera una coppia di chiavi pubblica/privata firmata e fornisce la chiave pubblica durante la creazione del cluster.Certificate authentication works by generating a signed public/private key pair, then providing the public key when creating the cluster. Durante la connessione al server tramite SSH, la chiave privata del client consente l'autenticazione per la connessione.When connecting to the server using SSH, the private key on the client provides authentication for the connection.

Per altre informazioni, vedere Usare SSH con HDInsight.For more information, see Use SSH with HDInsight.

Personalizzazione clusterCluster customization

Azioni script usate con i cluster basati su Linux devono essere scritte nello script Bash.Script Actions used with Linux-based clusters must be written in Bash script. I cluster basati su Linux possono usare azioni script durante o dopo la creazione del cluster.Linux-based clusters can use script actions during or after cluster creation. Per altre informazioni vedere Personalizzare cluster HDInsight basati su Linux tramite Azione script e Sviluppo di azioni script con HDInsight basati su Linux.For more information, see Customize Linux-based HDInsight with Script Actions and Script action development for Linux-based HDInsight.

Un'altra funzionalità di personalizzazione è bootstrap,Another customization feature is bootstrap. che per i cluster basati su Windows consente di specificare la posizione di librerie aggiuntive da usare con Hive.For Windows clusters, this feature allows you to specify the location of additional libraries for use with Hive. Dopo la creazione del cluster, queste librerie sono automaticamente disponibili per l'uso con le query Hive, senza la necessità di usare ADD JAR.After cluster creation, these libraries are automatically available for use with Hive queries without the need to use ADD JAR.

Bootstrap per i cluster basati su Linux non offre questa funzionalità.The Bootstrap feature for Linux-based clusters does not provide this functionality. Usare invece l'azione script documentata nell'articolo Aggiungere librerie Hive durante la creazione del cluster HDInsight.Instead, use script action documented in Add Hive libraries during cluster creation.

Reti virtualiVirtual Networks

I cluster HDInsight basati su Windows funzionano soltanto con le reti virtuali classiche, mentre i cluster HDInsight basati su Linux richiedono le reti virtuali di gestione risorse.Windows-based HDInsight clusters only work with Classic Virtual Networks, while Linux-based HDInsight clusters require Resource Manager Virtual Networks. Se nella rete virtuale classica sono presenti risorse a cui si deve connettere il cluster HDInsight basato su Linux, vedere Connessione di una rete virtuale classica a una rete virtuale di Azure Resource Manager.If you have resources in a Classic Virtual Network that the Linux-HDInsight cluster must connect to, see Connecting a Classic Virtual Network to a Resource Manager Virtual Network.

Per altre informazioni sui requisiti di configurazione, vedere il documento Estendere le funzionalità di HDInsight usando una rete virtuale.For more information on configuration requirements, see the Extend HDInsight capabilities by using a Virtual Network document.

Gestione e monitoraggioManagement and monitoring

Molte interfacce utente Web usate con HDInsight basato su Windows, ad esempio l'interfaccia di Cronologia processo o YARN, sono disponibili tramite Ambari.Many of the web UIs you may have used with Windows-based HDInsight, such as Job History or Yarn UI, are available through Ambari. La vista Hive di Ambari rappresenta inoltre un modo per eseguire query Hive usando il browser Web.In addition, the Ambari Hive View provides a way to run Hive queries using your web browser. L'interfaccia utente Web di Ambari è disponibile in ogni cluster basato su Linux all'indirizzo https://NOMECLUSTER.azurehdinsight.net.The Ambari Web UI is available on Linux-based clusters at https://CLUSTERNAME.azurehdinsight.net.

Per altre informazioni sull'uso di Ambari, vedere i documenti seguenti:For more information on working with Ambari, see the following documents:

Avvisi di AmbariAmbari Alerts

Ambari offre un sistema di avvisi in grado di indicare i potenziali problemi con il cluster.Ambari has an alert system that can tell you of potential problems with the cluster. Gli avvisi vengono visualizzati come voci rosse o gialle nell'interfaccia utente Web Ambari, ma possono anche essere recuperati tramite l'API REST.Alerts appear as red or yellow entries in the Ambari Web UI, however you can also retrieve them through the REST API.

Importante

Gli avvisi Ambari indicano che potrebbe esserci un problema e non che è presente un problema.Ambari alerts indicate that there may be a problem, not that there is a problem. Ad esempio, un avviso potrebbe indicare che HiveServer2 non è accessibile anche se è possibile accedervi normalmente.For example, you may receive an alert that HiveServer2 cannot be accessed, even though you can access it normally.

Molti avvisi vengono implementati come query basate su intervalli di tempo nell'ambito di un servizio e attendono una risposta entro un intervallo di tempo specifico.Many alerts are implemented as interval-based queries against a service, and expect a response within a specific time frame. L'avviso pertanto non significa necessariamente che il servizio è inattivo, bensì che non ha restituito risultati entro l'intervallo di tempo previsto.So the alert doesn't necessarily mean that the service is down, just that it didn't return results within the expected time frame.

Percorsi del file systemFile system locations

Il file system del cluster Linux è strutturato diversamente rispetto ai cluster HDInsight basati su Windows.The Linux cluster file system is laid out differently than Windows-based HDInsight clusters. Usare la tabella seguente per individuare i file usati comunemente.Use the following table to find commonly used files.

Devo cercare...I need to find... Si trova...It is located...
ConfigurazioneConfiguration /etc./etc. Ad esempio, /etc/hadoop/conf/core-site.xmlFor example, /etc/hadoop/conf/core-site.xml
File di logLog files /var/logs
Hortonworks Data Platform (HDP)Hortonworks Data Platform (HDP) /usr/hdp. Qui sono presenti due directory: una è la versione HDP corrente, l'altra è current./usr/hdp.There are two directories located here, one that is the current HDP version and current. La directory current contiene i collegamenti simbolici a file e directory all'interno della directory dei numeri di versione.The current directory contains symbolic links to files and directories located in the version number directory. La directory current è un modo pratico per accedere ai file HDP, poiché il numero di versione cambia non appena viene aggiornata la versione di HDP.The current directory is provided as a convenient way of accessing HDP files since the version number changes as the HDP version is updated.
hadoop-streaming.jarhadoop-streaming.jar /usr/hdp/current/hadoop-mapreduce-client/hadoop-streaming.jar

In genere, se si conosce il nome del file, è possibile usare il comando seguente da una sessione SSH per trovare il percorso del file:In general, if you know the name of the file, you can use the following command from an SSH session to find the file path:

find / -name FILENAME 2>/dev/null

È possibile usare anche caratteri jolly con il nome del file.You can also use wildcards with the file name. Ad esempio, find / -name *streaming*.jar 2>/dev/null restituisce il percorso dei file con estensione jar contenenti la parola 'streaming' nel nome del file.For example, find / -name *streaming*.jar 2>/dev/null returns the path to any jar files that contain the word 'streaming' as part of the file name.

Hive, Pig e MapReduceHive, Pig, and MapReduce

I carichi di lavoro di Pig e MapReduce sono simili ai cluster basati su Linux.Pig and MapReduce workloads are similar on Linux-based clusters. Tuttavia, i cluster HDInsight basati su Linux possono essere creati usando versioni più recenti di Hadoop, Hive e Pig.However, Linux-based HDInsight clusters can be created using newer versions of Hadoop, Hive, and Pig. Queste differenze di versione potrebbero introdurre modifiche nel funzionamento delle soluzioni esistenti.These version differences may introduce changes in how your existing solutions function. Per altre informazioni sulle versioni dei componenti compresi in HDInsight, vedere Controllo delle versioni dei componenti di HDInsight.For more information on the versions of components included with HDInsight, see HDInsight component versioning.

HDInsight basato su Linux non offre la funzionalità di desktop remoto.Linux-based HDInsight does not provide remote desktop functionality. In alternativa, è possibile usare SSH per connettersi in remoto ai nodi head del cluster.Instead, you can use SSH to remotely connect to the cluster head nodes. Per altre informazioni, vedere i documenti seguenti:For more information, see the following documents:

HiveHive

Importante

Se si usa un metastore di Hive esterno, è necessario eseguire il backup del metastore prima di usarlo con HDInsight basato su Linux.If you use an external Hive metastore, you should back up the metastore before using it with Linux-based HDInsight. HDInsight basato su Linux è disponibile nelle versioni più recenti di Hive, che possono presentare problemi di incompatibilità con i metastore creati nelle versioni precedenti.Linux-based HDInsight is available with newer versions of Hive, which may have incompatibilities with metastores created by earlier versions.

Il grafico seguente fornisce indicazioni sulla migrazione dei carichi di lavoro di Hive.The following chart provides guidance on migrating your Hive workloads.

Nel sistema basato su Windows si usa...On Windows-based, I use... Nel sistema basato su Linux si usa...On Linux-based...
Editor HiveHive Editor vista Hive in AmbariHive View in Ambari
set hive.execution.engine=tez; per abilitare Tezset hive.execution.engine=tez; to enable Tez Tez è il motore di esecuzione predefinito per i cluster basati su Linux, pertanto l'istruzione set non è più necessaria.Tez is the default execution engine for Linux-based clusters, so the set statement is no longer needed.
Funzioni definite dall'utente C#C# user-defined functions Per informazioni sulla convalida dei componenti di C# con HDInsight basato su Linux, vedere Eseguire la migrazione delle soluzioni .NET a HDInsight basato su LinuxFor information on validating C# components with Linux-based HDInsight, see Migrate .NET solutions to Linux-based HDInsight
script o file CMD nel server richiamati nell'ambito di un processo HiveCMD files or scripts on the server invoked as part of a Hive job gli script Bashuse Bash scripts
hive dal desktop remotohive command from remote desktop Usare Beeline o Hive da una sessione SSHUse Beeline or Hive from an SSH session

PigPig

Nel sistema basato su Windows si usa...On Windows-based, I use... Nel sistema basato su Linux si usa...On Linux-based...
Funzioni definite dall'utente C#C# user-defined functions Per informazioni sulla convalida dei componenti di C# con HDInsight basato su Linux, vedere Eseguire la migrazione delle soluzioni .NET a HDInsight basato su LinuxFor information on validating C# components with Linux-based HDInsight, see Migrate .NET solutions to Linux-based HDInsight
Script o file CMD nel server richiamati nell'ambito di un processo PigCMD files or scripts on the server invoked as part of a Pig job gli script Bashuse Bash scripts

MapReduceMapReduce

Nel sistema basato su Windows si usa...On Windows-based, I use... Nel sistema basato su Linux si usa...On Linux-based...
Componenti di mapping e riduttore C#C# mapper and reducer components Per informazioni sulla convalida dei componenti di C# con HDInsight basato su Linux, vedere Eseguire la migrazione delle soluzioni .NET a HDInsight basato su LinuxFor information on validating C# components with Linux-based HDInsight, see Migrate .NET solutions to Linux-based HDInsight
script o file CMD nel server richiamati nell'ambito di un processo HiveCMD files or scripts on the server invoked as part of a Hive job gli script Bashuse Bash scripts

OozieOozie

Importante

Se si usa un metastore di Oozie esterno, è necessario eseguire il backup del metastore prima di usarlo con HDInsight basato su Linux.If you use an external Oozie metastore, you should back up the metastore before using it with Linux-based HDInsight. HDInsight basato su Linux è disponibile nelle versioni più recenti di Oozie, che possono presentare problemi di incompatibilità con i metastore creati nelle versioni precedenti.Linux-based HDInsight is available with newer versions of Oozie, which may have incompatibilities with metastores created by earlier versions.

I flussi di lavoro di Oozie consentono le azioni shell.Oozie workflows allow shell actions. Le azioni shell usano la shell predefinita per il sistema operativo per poter eseguire i comandi della riga di comando.Shell actions use the default shell for the operating system to run command-line commands. Se si dispone di flussi di lavoro di Oozie che si basano su shell di Windows, è necessario riscrivere i flussi di lavoro affinché si basino su un ambiente della shell di Linux (Bash).If you have Oozie workflows that rely on the Windows shell, you must rewrite the workflows to rely on the Linux shell environment (Bash). Per ulteriori informazioni sull'uso di azioni shell con Oozie, vedere Oozie shell action extension (Estensioni dell'azione shell di Oozie).For more information on using shell actions with Oozie, see Oozie shell action extension.

Se si dispone di un flusso di lavoro che usa un'applicazione C#, convalidare queste applicazioni in un ambiente Linux.If you have a workflow that uses a C# application, validate these applications in a Linux environment. Per ulteriori informazioni, vedere Eseguire la migrazione per le soluzioni .NET per HDInsight basato su Linux.For more information, see Migrate .NET solutions to Linux-based HDInsight.

StormStorm

Nel sistema basato su Windows si usa...On Windows-based, I use... Nel sistema basato su Linux si usa...On Linux-based...
Storm DashboardStorm Dashboard Storm Dashboard non è disponibile.The Storm Dashboard is not available. Vedere Distribuzione e gestione di topologie Apache Storm in HDInsight basato su Linux per le modalità di invio delle topologieSee Deploy and Manage Storm topologies on Linux-based HDInsight for ways to submit topologies
Interfaccia utente di StormStorm UI L'interfaccia utente di Storm è disponibile all'indirizzo https://NOMECLUSTER.azurehdinsight.net/stormuiThe Storm UI is available at https://CLUSTERNAME.azurehdinsight.net/stormui
Visual Studio per creare, distribuire e gestire le topologie C# o ibrideVisual Studio to create, deploy, and manage C# or hybrid topologies È possibile usare Visual Studio per creare, distribuire e gestire topologie C# (SCP.NET) o ibride in Storm basato su Linux in HDInsight.Visual Studio can be used to create, deploy, and manage C# (SCP.NET) or hybrid topologies on Linux-based Storm on HDInsight. Può essere usato solo con i cluster creati dopo il 28/10/2016.It can only be used with clusters created after 10/28/2016.

HBaseHBase

Nei cluster basati su Linux, l'elemento padre znode per HBase è /hbase-unsecure.On Linux-based clusters, the znode parent for HBase is /hbase-unsecure. Impostare questo valore nella configurazione di qualsiasi applicazione client Java che usi un'API Java HBase nativa.Set this value in the configuration for any Java client applications that use native HBase Java API.

Vedere Compilare un'applicazione HBase basata su Java per un client di esempio che imposta questo valore.See Build a Java-based HBase application for an example client that sets this value.

SparkSpark

I cluster Spark non erano disponibili nei cluster Windows durante l'anteprima.Spark clusters were available on Windows-clusters during preview. GA Spark è disponibile solo con i cluster basati su Linux.Spark GA is only available with Linux-based clusters. Non esiste un percorso di migrazione da un cluster di anteprima Spark basato su Windows a un cluster di rilascio Spark basato su Linux.There is no migration path from a Windows-based Spark preview cluster to a release Linux-based Spark cluster.

Problemi notiKnown issues

Attività .NET personalizzate in Azure Data FactoryAzure Data Factory custom .NET activities

Le attività .NET personalizzate in Azure Data Factory non sono attualmente supportate nei cluster HDInsight basati su Linux.Azure Data Factory custom .NET activities are not currently supported on Linux-based HDInsight clusters. Conviene invece usare uno dei metodi seguenti per implementare attività personalizzate nell'ambito della pipeline di ADF.Instead, you should use one of the following methods to implement custom activities as part of your ADF pipeline.

Terminazioni rigaLine endings

In genere le terminazioni riga nei sistemi basati su Windows usano CRLF, mentre nei sistemi basati su Linux usano LF.In general, line endings on Windows-based systems use CRLF, while Linux-based systems use LF. Potrebbe essere necessario modificare i consumer e produttori di dati per usare LF.You may need to modify existing data producers and consumers to work with LF.

Ad esempio, se si usa Azure PowerShell per eseguire una query in HDInsight in un cluster basato su Windows, verranno restituiti dati con terminazione riga CRLF.For example, using Azure PowerShell to query HDInsight on a Windows-based cluster returns data with CRLF. La stessa query in un cluster basato su Linux restituisce dati con terminazione riga LF.The same query with a Linux-based cluster returns LF. Prima di eseguire la migrazione a un cluster basato su Linux, verificare se la terminazione riga causa un problema con la soluzione.Test to see if the line ending causes a problem with your solution before migrating to a Linux-based cluster.

Usare sempre LF come terminazione riga per gli script eseguiti sui nodi del cluster.Always use LF as the line ending for scripts that run on the cluster nodes. Se si usa CRLF, è possibile riscontrare errori durante l'esecuzione di script in un cluster basato su Linux.If you use CRLF, you may see errors when running the scripts on a Linux-based cluster.

Se gli script non contengono stringhe con caratteri CR incorporati, è possibile modificare in blocco le terminazioni riga tramite uno dei metodi seguenti:If the scripts do not contain strings with embedded CR characters, you can bulk change the line endings using one of the following methods:

  • Prima di caricare sul cluster: usare le istruzioni di PowerShell seguenti per modificare le terminazioni della riga da CRLF a LF prima di caricare lo script sul cluster.Before uploading to the cluster: Use the following PowerShell statements to change the line endings from CRLF to LF before uploading the script to the cluster.

    $original_file ='c:\path\to\script.py'
    $text = [IO.File]::ReadAllText($original_file) -replace "`r`n", "`n"
    [IO.File]::WriteAllText($original_file, $text)
    
  • Dopo il caricamento sul cluster: usare il comando seguente da una sessione SSH a un cluster basato su Linux per modificare lo script.After uploading to the cluster: Use the following command from an SSH session to the Linux-based cluster to modify the script.

    hdfs dfs -get wasb:///path/to/script.py oldscript.py
    tr -d '\r' < oldscript.py > script.py
    hdfs dfs -put -f script.py wasb:///path/to/script.py
    

Passaggi successiviNext Steps