Migrazione a strumenti di sviluppo basati su Azure Resource Manager per i cluster HDInsightMigrating to Azure Resource Manager-based development tools for HDInsight clusters

In HDInsight stanno per essere deprecati gli strumenti basati su Azure Service Management (ASM) per HDInsight.HDInsight is deprecating Azure Service Manager (ASM)-based tools for HDInsight. Se si usa Azure PowerShell, l'interfaccia della riga di comando di Azure o HDInsight .NET SDK per l'utilizzo dei cluster HDInsight, in futuro è consigliabile passare alle versioni di PowerShell, dell'interfaccia della riga di comando e di .NET SDK basate su Azure Resource Manager (ARM).If you have been using Azure PowerShell, Azure CLI, or the HDInsight .NET SDK to work with HDInsight clusters, you are encouraged to use the Azure Resource Manager (ARM)-based versions of PowerShell, CLI, and .NET SDK going forward. Questo articolo fornisce informazioni utili su come eseguire la migrazione al nuovo approccio basato su ARM.This article provides pointers on how to migrate to the new ARM-based approach. Se applicabili, l'articolo evidenzia anche le differenze tra gli approcci basati su ASM e ARM per HDInsight.Wherever applicable, this article also points out the differences between the ASM and ARM approaches for HDInsight.

Importante

Il supporto per ASM basato su PowerShell, l'interfaccia della riga di comando e .NET SDK verrà sospeso il 1° gennaio 2017.The support for ASM based PowerShell, CLI, and .NET SDK will discontinue on January 1, 2017.

Migrazione dell'interfaccia della riga di comando di Azure ad Azure Resource ManagerMigrating Azure CLI to Azure Resource Manager

L'interfaccia della riga di comando di Azure ora passa per impostazione predefinita alla modalità Azure Resource Manager (ARM), a meno che non si sta eseguendo l'aggiornamento da un'installazione precedente. In questo caso, può essere necessario usare il comando necessario azure config mode arm per passare alla modalità ARM.The Azure CLI now defaults to Azure Resource Manager (ARM) mode, unless you are upgrading from a previous installation; in this case, you may need to use the azure config mode arm command to switch to ARM mode.

I comandi di base forniti dall'interfaccia della riga di comando di Azure per l'utilizzo di HDInsight tramite Azure Service Management (ASM) sono gli stessi per ARM. Quando si usa ARM, alcuni parametri e opzioni possono tuttavia avere nomi nuovi e sono disponibili molti parametri nuovi.The basic commands that the Azure CLI provided to work with HDInsight using Azure Service Management (ASM) are the same when using ARM; however some parameters and switches may have new names, and there are many new parameters available when using ARM. Ad esempio, è ora possibile usare azure hdinsight cluster create per specificare la rete virtuale di Azure in cui deve essere creato un cluster o le informazioni dei metastore Hive e Oozie.For example, you can now use azure hdinsight cluster create to specify the Azure Virtual Network that a cluster should be created in, or Hive and Oozie metastore information.

Ecco i comandi di base per l'utilizzo di HDInsight tramite Azure Resource Manager:Basic commands for working with HDInsight through Azure Resource Manager are:

  • azure hdinsight cluster create : crea un nuovo cluster HDInsight.azure hdinsight cluster create - creates a new HDInsight cluster
  • azure hdinsight cluster delete : elimina un cluster HDInsight esistente.azure hdinsight cluster delete - deletes an existing HDInsight cluster
  • azure hdinsight cluster show : visualizza informazioni su un cluster esistente.azure hdinsight cluster show - display information about an existing cluster
  • azure hdinsight cluster list : elenca i cluster HDInsight per la sottoscrizione di Azureazure hdinsight cluster list - lists HDInsight clusters for your Azure subscription

Usare l'opzione -h per esaminare i parametri e le opzioni disponibili per ogni comando.Use the -h switch to inspect the parameters and switches available for each command.

Nuovi comandiNew commands

Ecco i nuovi comandi disponibili con Azure Resource Manager:New commands available with Azure Resource Manager are:

  • azure hdinsight cluster resize : modifica dinamicamente il numero di nodi di lavoro del cluster.azure hdinsight cluster resize - dynamically changes the number of worker nodes in the cluster
  • azure hdinsight cluster enable-http-access : abilita l'accesso HTTPs al cluster (attivato per impostazione predefinita).azure hdinsight cluster enable-http-access - enables HTTPs access to the cluster (on by default)
  • azure hdinsight cluster disable-http-access : disabilità l'accesso HTTPs al cluster.azure hdinsight cluster disable-http-access - disables HTTPs access to the cluster
  • azure hdinsight script-action: fornisce i comandi per la creazione o la gestione di azioni script in un cluster.azure hdinsight script-action - provides commands for creating/managing Script Actions on a cluster
  • azure hdinsight config: fornisce i comandi per la creazione di un file di configurazione che può essere usato con il comando hdinsight cluster create per fornire informazioni di configurazione.azure hdinsight config - provides commands for creating a configuration file that can be used with the hdinsight cluster create command to provide configuration information.

Comandi deprecatiDeprecated commands

Se si usano i comandi azure hdinsight job per inviare processi al cluster HDInsight, questi non sono disponibili tramite i comandi di ARM.If you use the azure hdinsight job commands to submit jobs to your HDInsight cluster, these are not available through the ARM commands. Se è necessario inviare processi a HDInsight da script a livello di programmazione, usare invece le API REST fornite da HDInsight.If you need to programmatically submit jobs to HDInsight from scripts, you should instead use the REST APIs provided by HDInsight. Per altre informazioni sull'invio di processi con le API REST, vedere i documenti seguenti.For more information on submitting jobs using REST APIs, see the following documents.

Per informazioni su altri modi per eseguire MapReduce, Hive e Pig in modo interattivo, vedere Usare MapReduce con Hadoop in HDInsight, Usare Hive con Hadoop in HDInsight e Usare Pig con Hadoop in HDInsight.For information on other ways to run MapReduce, Hive, and Pig interactively, see Use MapReduce with Hadoop on HDInsight, Use Hive with Hadoop on HDInsight, and Use Pig with Hadoop on HDInsight.

esempiExamples

Creazione di un clusterCreating a cluster

  • Comando precedente (ASM): azure hdinsight cluster create myhdicluster --location northeurope --osType linux --storageAccountName mystorage --storageAccountKey <storagekey> --storageContainer mycontainer --userName admin --password mypassword --sshUserName sshuser --sshPassword mypasswordOld command (ASM) - azure hdinsight cluster create myhdicluster --location northeurope --osType linux --storageAccountName mystorage --storageAccountKey <storagekey> --storageContainer mycontainer --userName admin --password mypassword --sshUserName sshuser --sshPassword mypassword
  • Nuovo comando (ARM): azure hdinsight cluster create myhdicluster -g myresourcegroup --location northeurope --osType linux --clusterType hadoop --defaultStorageAccountName mystorage --defaultStorageAccountKey <storagekey> --defaultStorageContainer mycontainer --userName admin -password mypassword --sshUserName sshuser --sshPassword mypasswordNew command (ARM) - azure hdinsight cluster create myhdicluster -g myresourcegroup --location northeurope --osType linux --clusterType hadoop --defaultStorageAccountName mystorage --defaultStorageAccountKey <storagekey> --defaultStorageContainer mycontainer --userName admin -password mypassword --sshUserName sshuser --sshPassword mypassword

Eliminazione di un clusterDeleting a cluster

  • Comando precedente (ASM): azure hdinsight cluster delete myhdiclusterOld command (ASM) - azure hdinsight cluster delete myhdicluster
  • Nuovo comando (ARM): azure hdinsight cluster delete mycluster -g myresourcegroupNew command (ARM) - azure hdinsight cluster delete mycluster -g myresourcegroup

Elencare i clusterList clusters

  • Comando precedente (ASM): azure hdinsight cluster listOld command (ASM) - azure hdinsight cluster list
  • Nuovo comando (ARM): azure hdinsight cluster listNew command (ARM) - azure hdinsight cluster list

Nota

Per il comando list specificando il gruppo di risorse con -g verranno restituiti solo i cluster nel gruppo di risorse specificato.For the list command, specifying the resource group using -g will return only the clusters in the specified resource group.

Mostrare informazioni sul clusterShow cluster information

  • Comando precedente (ASM): azure hdinsight cluster show myhdiclusterOld command (ASM) - azure hdinsight cluster show myhdicluster
  • Nuovo comando (ARM): azure hdinsight cluster show myhdicluster -g myresourcegroupNew command (ARM) - azure hdinsight cluster show myhdicluster -g myresourcegroup

Migrazione di Azure PowerShell ad Azure Resource ManagerMigrating Azure PowerShell to Azure Resource Manager

Le informazioni generali su Azure PowerShell in modalità Azure Resource Manager(ARM) sono disponibili in Uso di Azure PowerShell con Azure Resource Manager.The general information about Azure PowerShell in the Azure Resource Manager (ARM) mode can be found at Using Azure PowerShell with Azure Resource Manager.

I cmdlet ARM di Azure PowerShell possono essere installati side-by-side con i cmdlet ASM.The Azure PowerShell ARM cmdlets can be installed side-by-side with the ASM cmdlets. È possibile distinguere i cmdlet delle due modalità in base ai nomi.The cmdlets from the two modes can be distinguished by their names. I nomi dei cmdlet in modalità ARM includono AzureRmHDInsight, mentre quelli in modalità ASM includono AzureHDInsight.The ARM mode has AzureRmHDInsight in the cmdlet names comparing to AzureHDInsight in the ASM mode. Ad esempio, New-AzureRmHDInsightCluster e New-AzureHDInsightCluster.For example, New-AzureRmHDInsightCluster vs. New-AzureHDInsightCluster. Parametri e le opzioni possono avere nomi nuovi e sono disponibili molti nuovi parametri quando si usa ARM.Parameters and switches may have news names, and there are many new parameters available when using ARM. Ad esempio, alcuni cmdlet richiedono una nuova opzione denominata - ResourceGroupName.For example, several cmdlets require a new switch called -ResourceGroupName.

Prima di poter usare i cmdlet di HDInsight, è necessario connettersi con il proprio account Azure e creare un nuovo gruppo di risorse:Before you can use the HDInsight cmdlets, you must connect to your Azure account, and create a new resource group:

Cmdlet rinominatiRenamed cmdlets

Per elencare i cmdlet ASM di HDInsight nella console di Windows PowerShell:To list the HDInsight ASM cmdlets in Windows PowerShell console:

help *azurermhdinsight*

La tabella include l'elenco dei cmdlet ASM e i relativi nomi in modalità ARM:The following table lists the ASM cmdlets and their names in the ARM mode:

Cmdlet ASMASM cmdlets Cmdlet ARMARM cmdlets
Add-AzureHDInsightConfigValuesAdd-AzureHDInsightConfigValues Add-AzureRmHDInsightConfigValuesAdd-AzureRmHDInsightConfigValues
Add-AzureHDInsightMetastoreAdd-AzureHDInsightMetastore Add-AzureRmHDInsightMetastoreAdd-AzureRmHDInsightMetastore
Add-AzureHDInsightScriptActionAdd-AzureHDInsightScriptAction Add-AzureRmHDInsightScriptActionAdd-AzureRmHDInsightScriptAction
Add-AzureHDInsightStorageAdd-AzureHDInsightStorage Add-AzureRmHDInsightStorageAdd-AzureRmHDInsightStorage
Get-AzureHDInsightClusterGet-AzureHDInsightCluster Get-AzureRmHDInsightClusterGet-AzureRmHDInsightCluster
Get-AzureHDInsightJobGet-AzureHDInsightJob Get-AzureRmHDInsightJobGet-AzureRmHDInsightJob
Get-AzureHDInsightJobOutputGet-AzureHDInsightJobOutput Get-AzureRmHDInsightJobOutputGet-AzureRmHDInsightJobOutput
Get-AzureHDInsightPropertiesGet-AzureHDInsightProperties Get-AzureRmHDInsightPropertiesGet-AzureRmHDInsightProperties
Grant-AzureHDInsightHttpServicesAccessGrant-AzureHDInsightHttpServicesAccess Grant-AzureRmHDInsightHttpServicesAccessGrant-AzureRmHDInsightHttpServicesAccess
Grant-AzureHdinsightRdpAccessGrant-AzureHdinsightRdpAccess Grant-AzureRmHDInsightRdpServicesAccessGrant-AzureRmHDInsightRdpServicesAccess
Invoke-AzureHDInsightHiveJobInvoke-AzureHDInsightHiveJob Invoke-AzureRmHDInsightHiveJobInvoke-AzureRmHDInsightHiveJob
New-AzureHDInsightClusterNew-AzureHDInsightCluster New-AzureRmHDInsightClusterNew-AzureRmHDInsightCluster
New-AzureHDInsightClusterConfigNew-AzureHDInsightClusterConfig New-AzureRmHDInsightClusterConfigNew-AzureRmHDInsightClusterConfig
New-AzureHDInsightHiveJobDefinitionNew-AzureHDInsightHiveJobDefinition New-AzureRmHDInsightHiveJobDefinitionNew-AzureRmHDInsightHiveJobDefinition
New-AzureHDInsightMapReduceJobDefinitionNew-AzureHDInsightMapReduceJobDefinition New-AzureRmHDInsightMapReduceJobDefinitionNew-AzureRmHDInsightMapReduceJobDefinition
New-AzureHDInsightPigJobDefinitionNew-AzureHDInsightPigJobDefinition New-AzureRmHDInsightPigJobDefinitionNew-AzureRmHDInsightPigJobDefinition
New-AzureHDInsightSqoopJobDefinitionNew-AzureHDInsightSqoopJobDefinition New-AzureRmHDInsightSqoopJobDefinitionNew-AzureRmHDInsightSqoopJobDefinition
New-AzureHDInsightStreamingMapReduceJobDefinitionNew-AzureHDInsightStreamingMapReduceJobDefinition New-AzureRmHDInsightStreamingMapReduceJobDefinitionNew-AzureRmHDInsightStreamingMapReduceJobDefinition
Remove-AzureHDInsightClusterRemove-AzureHDInsightCluster Remove-AzureRmHDInsightClusterRemove-AzureRmHDInsightCluster
Revoke-AzureHDInsightHttpServicesAccessRevoke-AzureHDInsightHttpServicesAccess Revoke-AzureRmHDInsightHttpServicesAccessRevoke-AzureRmHDInsightHttpServicesAccess
Revoke-AzureHdinsightRdpAccessRevoke-AzureHdinsightRdpAccess Revoke-AzureRmHDInsightRdpServicesAccessRevoke-AzureRmHDInsightRdpServicesAccess
Set-AzureHDInsightClusterSizeSet-AzureHDInsightClusterSize Set-AzureRmHDInsightClusterSizeSet-AzureRmHDInsightClusterSize
Set-AzureHDInsightDefaultStorageSet-AzureHDInsightDefaultStorage Set-AzureRmHDInsightDefaultStorageSet-AzureRmHDInsightDefaultStorage
Start-AzureHDInsightJobStart-AzureHDInsightJob Start-AzureRmHDInsightJobStart-AzureRmHDInsightJob
Stop-AzureHDInsightJobStop-AzureHDInsightJob Stop-AzureRmHDInsightJobStop-AzureRmHDInsightJob
Use-AzureHDInsightClusterUse-AzureHDInsightCluster Use-AzureRmHDInsightClusterUse-AzureRmHDInsightCluster
Wait-AzureHDInsightJobWait-AzureHDInsightJob Wait-AzureRmHDInsightJobWait-AzureRmHDInsightJob

Nuovi cmdletNew cmdlets

Ecco i nuovi cmdlet disponibili solo in modalità ARM.The following are the new cmdlets that are only available in the ARM mode.

Cmdlet correlati all'azione script:Script action related cmdlets:

  • Get-AzureRmHDInsightPersistedScriptAction: ottiene le azioni script persistenti per un cluster e le elenca in ordine cronologico oppure ottiene i dettagli per un'azione script persistente specificata.Get-AzureRmHDInsightPersistedScriptAction: Gets the persisted script actions for a cluster and lists them in chronological order, or gets details for a specified persisted script action.
  • Get-AzureRmHDInsightScriptActionHistory: ottiene la cronologia delle azioni script per un cluster e le elenca in ordine cronologico inverso oppure ottiene i dettagli di un'azione script eseguita in precedenza.Get-AzureRmHDInsightScriptActionHistory: Gets the script action history for a cluster and lists it in reverse chronological order, or gets details of a previously executed script action.
  • Remove AzureRmHDInsightPersistedScriptAction: rimuove un'azione script persistente da un cluster HDInsight.Remove-AzureRmHDInsightPersistedScriptAction: Removes a persisted script action from an HDInsight cluster.
  • Set AzureRmHDInsightPersistedScriptAction: imposta un'azione script eseguita in precedenza come un'azione script persistente.Set-AzureRmHDInsightPersistedScriptAction: Sets a previously executed script action to be a persisted script action.
  • Submit-AzureRmHDInsightScriptAction: invia una nuova azione script a un cluster HDInsight di Azure.Submit-AzureRmHDInsightScriptAction: Submits a new script action to an Azure HDInsight cluster.

Per altre informazioni sull'utilizzo, vedere Personalizzare cluster HDInsight basati su Linux tramite Azione script.For additional usage information, see Customize Linux-based HDInsight clusters using Script Action.

Cmdlet correlati a identità del cluster:Clsuter identity related cmdlets:

esempiExamples

Creare clusterCreate cluster

Comando precedente (ASM):Old command (ASM):

New-AzureHDInsightCluster `
    -Name $clusterName `
    -Location $location `
    -DefaultStorageAccountName "$storageAccountName.blob.core.windows.net" `
    -DefaultStorageAccountKey $storageAccountKey `
    -DefaultStorageContainerName $containerName `
    -ClusterSizeInNodes 2 `
    -ClusterType Hadoop `
    -OSType Linux `
    -Version "3.2" `
    -Credential $httpCredential `
    -SshCredential $sshCredential

Nuovo comando (ARM):New command (ARM):

New-AzureRmHDInsightCluster `
    -ClusterName $clusterName `
    -ResourceGroupName $resourceGroupName `
    -Location $location `
    -DefaultStorageAccountName "$storageAccountName.blob.core.windows.net" `
    -DefaultStorageAccountKey $storageAccountKey `
    -DefaultStorageContainer $containerName  `
    -ClusterSizeInNodes 2 `
    -ClusterType Hadoop `
    -OSType Linux `
    -Version "3.2" `
    -HttpCredential $httpcredentials `
    -SshCredential $sshCredentials

Eliminare clusterDelete cluster

Comando precedente (ASM):Old command (ASM):

Remove-AzureHDInsightCluster -name $clusterName 

Nuovo comando (ARM):New command (ARM):

Remove-AzureRmHDInsightCluster -ResourceGroupName $resourceGroupName -ClusterName $clusterName 

Elencare clusterList cluster

Comando precedente (ASM):Old command (ASM):

Get-AzureHDInsightCluster

Nuovo comando (ARM):New command (ARM):

Get-AzureRmHDInsightCluster 

Mostrare clusterShow cluster

Comando precedente (ASM):Old command (ASM):

Get-AzureHDInsightCluster -Name $clusterName

Nuovo comando (ARM):New command (ARM):

Get-AzureRmHDInsightCluster -ResourceGroupName $resourceGroupName -clusterName $clusterName

Altri esempiOther samples

Migrazione di HDInsight .NET SDK basato su ARMMigrating to the ARM-based HDInsight .NET SDK

(ASM) HDInsight .NET SDK basato su Azure Service Management è attualmente deprecato.The Azure Service Management-based (ASM) HDInsight .NET SDK is now deprecated. È consigliabile usare (ARM) HDInsight .NET SDKbasato su Azure Resource Manager.You are encouraged to use the Azure Resource Management-based (ARM) HDInsight .NET SDK. I pacchetti HDInsight basati su ASM seguenti sono deprecati.The following ASM-based HDInsight packages are being deprecated.

  • Microsoft.WindowsAzure.Management.HDInsight
  • Microsoft.Hadoop.Client

Questa sezione include i puntatori ad altre informazioni relative all'esecuzione di determinate attività tramite l'SDK basato su ARM.This section provides pointers to more information on how to perform certain tasks using the ARM-based SDK.

Utilizzo HDInsight SDK basato su ARM - ProcedureHow to... using the ARM-based HDInsight SDK CollegamentiLinks
Creare cluster HDInsight con .NET SDKCreate HDInsight clusters using .NET SDK Vedere Creare cluster basati su Linux in HDInsight tramite .NET SDKSee Create HDInsight clusters using .NET SDK
Personalizzare un cluster tramite un'azione script con .NET SDKCustomize a cluster using Script Action with .NET SDK Vedere Personalizzare cluster HDInsight basati su Linux tramite Azione scriptSee Customize HDInsight Linux clusters using Script Action
Autenticare le applicazioni in modo interattivo tramite Azure Active Directory con .NET SDKAuthenticate applications interactively using Azure Active Directory with .NET SDK Vedere Eseguire query Hive con HDInsight .NET SDKSee Run Hive queries using .NET SDK. Il frammento di codice in questo articolo usa l'approccio di autenticazione interattiva.The code snippet in this article uses the interactive authentication approach.
Autenticare le applicazioni in modo non interattivo tramite Azure Active Directory con .NET SDKAuthenticate applications non-interactively using Azure Active Directory with .NET SDK Vedere Creare applicazioni .NET HDInsight di autenticazione non interattivaSee Create non-interactive applications for HDInsight
Inviare un processo Hive con .NET SDKSubmit a Hive job using .NET SDK Vedere Eseguire query Hive con HDInsight .NET SDKSee Submit Hive jobs
Inviare un processo Pig con .NET SDKSubmit a Pig job using .NET SDK Vedere Eseguire processi Pig con .NET SDK per Hadoop in HDInsightSee Submit Pig jobs
Inviare un processo Sqoop con .NET SDKSubmit a Sqoop job using .NET SDK Vedere Eseguire processi Sqoop con .NET SDK per Hadoop in HDInsightSee Submit Sqoop jobs
Elencare cluster HDInsight con .NET SDKList HDInsight clusters using .NET SDK Vedere la sezione su come elencare cluster in Gestire cluster Hadoop in HDInsight tramite .NET SDKSee List HDInsight clusters
Ridimensionare cluster HDInsight con .NET SDKScale HDInsight clusters using .NET SDK Vedere la sezione su come ridimensionare cluster in Gestire cluster Hadoop in HDInsight tramite .NET SDKSee Scale HDInsight clusters
Concedere/revocare l'accesso ai cluster HDInsight con .NET SDKGrant/revoke access to HDInsight clusters using .NET SDK Vedere la sezione su come concedere/revocare l'accesso in Gestire cluster Hadoop in HDInsight tramite .NET SDKSee Grant/revoke access to HDInsight clusters
Aggiornare le credenziali utente HTTP per i cluster HDInsight con .NET SDKUpdate HTTP user credentials for HDInsight clusters using .NET SDK Vedere la sezione su come aggiornare le credenziali utente HTTP in Gestire cluster Hadoop in HDInsight tramite .NET SDKSee Update HTTP user credentials for HDInsight clusters
Trovare l'account di archiviazione predefinito per i cluster HDInsight con .NET SDKFind the default storage account for HDInsight clusters using .NET SDK Vedere la sezione su come trovare l'account di archiviazione predefinito in Gestire cluster Hadoop in HDInsight tramite .NET SDKSee Find the default storage account for HDInsight clusters
Eliminare cluster HDInsight con .NET SDKDelete HDInsight clusters using .NET SDK Vedere la sezione su come eliminare cluster in Gestire cluster Hadoop in HDInsight tramite .NET SDKSee Delete HDInsight clusters

esempiExamples

Di seguito sono riportati alcuni esempi sulla modalità di esecuzione di un'operazione con l'SDK basato su ASM e il frammento di codice equivalente per l'SDK basato su ARM.Following are some examples on how an operation is performed using the ASM-based SDK and the equivalent code snippet for the ARM-based SDK.

Creazione di un client CRUD del clusterCreating a cluster CRUD client

  • Comando precedente (ASM)Old command (ASM)

      //Certificate auth
      //This logs the application in using a subscription administration certificate, which is not offered in Azure Resource Manager (ARM)
    
      const string subid = "454467d4-60ca-4dfd-a556-216eeeeeeee1";
      var cred = new HDInsightCertificateCredential(new Guid(subid), new X509Certificate2(@"path\to\certificate.cer"));
      var client = HDInsightClient.Connect(cred);
    
  • Nuovo comando (ARM) (autorizzazione dell'entità servizio)New command (ARM) (Service principal authorization)

      //Service principal auth
      //This will log the application in as itself, rather than on behalf of a specific user.
      //For details, including how to set up the application, see:
      //   https://azure.microsoft.com/en-us/documentation/articles/hdinsight-create-non-interactive-authentication-dotnet-applications/
    
      var authFactory = new AuthenticationFactory();
    
      var account = new AzureAccount { Type = AzureAccount.AccountType.ServicePrincipal, Id = clientId };
    
      var env = AzureEnvironment.PublicEnvironments[EnvironmentName.AzureCloud];
    
      var accessToken = authFactory.Authenticate(account, env, tenantId, secretKey, ShowDialog.Never).AccessToken;
    
      var creds = new TokenCloudCredentials(subId.ToString(), accessToken);
    
      _hdiManagementClient = new HDInsightManagementClient(creds);
    
  • Nuovo comando (ARM) (autorizzazione utente)New command (ARM) (User authorization)

      //User auth
      //This will log the application in on behalf of the user.
      //The end-user will see a login popup.
    
      var authFactory = new AuthenticationFactory();
    
      var account = new AzureAccount { Type = AzureAccount.AccountType.User, Id = username };
    
      var env = AzureEnvironment.PublicEnvironments[EnvironmentName.AzureCloud];
    
      var accessToken = authFactory.Authenticate(account, env, AuthenticationFactory.CommonAdTenant, password, ShowDialog.Auto).AccessToken;
    
      var creds = new TokenCloudCredentials(subId.ToString(), accessToken);
    
      _hdiManagementClient = new HDInsightManagementClient(creds);
    

Creazione di un clusterCreating a cluster

  • Comando precedente (ASM)Old command (ASM)

      var clusterInfo = new ClusterCreateParameters
                  {
                      Name = dnsName,
                      DefaultStorageAccountKey = key,
                      DefaultStorageContainer = defaultStorageContainer,
                      DefaultStorageAccountName = storageAccountDnsName,
                      ClusterSizeInNodes = 1,
                      ClusterType = type,
                      Location = "West US",
                      UserName = "admin",
                      Password = "*******",
                      Version = version,
                      HeadNodeSize = NodeVMSize.Large,
                  };
      clusterInfo.CoreConfiguration.Add(new KeyValuePair<string, string>("config1", "value1"));
      client.CreateCluster(clusterInfo);
    
  • Nuovo comando (ARM)New command (ARM)

      var clusterCreateParameters = new ClusterCreateParameters
          {
              Location = "West US",
              ClusterType = "Hadoop",
              Version = "3.1",
              OSType = OSType.Linux,
              DefaultStorageAccountName = "mystorage.blob.core.windows.net",
              DefaultStorageAccountKey =
                  "O9EQvp3A3AjXq/W27rst1GQfLllhp0gUeiUUn2D8zX2lU3taiXSSfqkZlcPv+nQcYUxYw==",
              UserName = "hadoopuser",
              Password = "*******",
              HeadNodeSize = "ExtraLarge",
              RdpUsername = "hdirp",
              RdpPassword = ""*******",
              RdpAccessExpiry = new DateTime(2025, 3, 1),
              ClusterSizeInNodes = 5
          };
      var coreConfigs = new Dictionary<string, string> {{"config1", "value1"}};
      clusterCreateParameters.Configurations.Add(ConfigurationKey.CoreSite, coreConfigs);
    

Abilitazione dell'accesso HTTPEnabling HTTP access

  • Comando precedente (ASM)Old command (ASM)

      client.EnableHttp(dnsName, "West US", "admin", "*******");
    
  • Nuovo comando (ARM)New command (ARM)

      var httpParams = new HttpSettingsParameters
      {
             HttpUserEnabled = true,
             HttpUsername = "admin",
             HttpPassword = "*******",
      };
      client.Clusters.ConfigureHttpSettings(resourceGroup, dnsname, httpParams);
    

Eliminazione di un clusterDeleting a cluster

  • Comando precedente (ASM)Old command (ASM)

      client.DeleteCluster(dnsName);
    
  • Nuovo comando (ARM)New command (ARM)

      client.Clusters.Delete(resourceGroup, dnsname);