Aggiungere altri account di archiviazione a HDInsight
Informazioni su come usare le azioni script per aggiungere altri account Archiviazione di Azure a HDInsight. I passaggi descritti in questo documento aggiungono un account di archiviazione a un cluster HDInsight esistente. Questo articolo si applica agli account di archiviazione (non all'account di archiviazione cluster predefinito) e non a risorse di archiviazione aggiuntive, Azure Data Lake Storage Gen1
ad esempio e Azure Data Lake Storage Gen2
.
Importante
Le informazioni contenute in questo documento riguardano l'aggiunta di account di archiviazione aggiuntivi a un cluster dopo la creazione. Per informazioni sull'aggiunta di account di archiviazione durante la creazione del cluster, vedere Configurare cluster in HDInsight con Apache Hadoop, Apache Spark, Apache Kafka e altro.
Prerequisiti
- Un cluster Hadoop in HDInsight. Vedere Guida introduttiva: Introduzione ad Apache Hadoop e Apache Hive in Azure HDInsight usando il modello di Resource Manager.
- Archiviazione nome e chiave dell'account. Vedere Gestire le chiavi di accesso dell'account di archiviazione.
- Se si usa PowerShell, è necessario il modulo AZ. Vedere Panoramica di Azure PowerShell.
Funzionamento
Durante l'elaborazione, lo script esegue le azioni seguenti:
Se l'account di archiviazione esiste già nella configurazione core-site.xml per il cluster, lo script viene chiuso e non vengono eseguite altre azioni.
Verifica che l'account di archiviazione esista e sia accessibile tramite la chiave.
Crittografa la chiave mediante le credenziali del cluster,
Aggiunge l'account di archiviazione al file core-site.xml.
Arrestare e riavviare i servizi Apache Oozie, Apache Hadoop YARN, Apache Hadoop MapReduce2 e Apache Hadoop HDFS. L'arresto e l'avvio di questi servizi consente di usare il nuovo account di archiviazione.
Avviso
L'uso di un account di archiviazione in una località diversa rispetto al cluster HDInsight non è supportato.
Aggiungere l’account di archiviazione
Usare l'azione script per applicare le modifiche con le considerazioni seguenti:
Proprietà | valore |
---|---|
URI script Bash | https://hdiconfigactions.blob.core.windows.net/linuxaddstorageaccountv01/add-storage-account-v01.sh |
Tipo/i di nodo | Head |
Parametri | ACCOUNTNAME ACCOUNTKEY -p (facoltativo) |
ACCOUNTNAME
è il nome dell'account di archiviazione da aggiungere al cluster HDInsight.ACCOUNTKEY
è la chiave di accesso perACCOUNTNAME
.-p
è facoltativo. Se specificato, la chiave non viene crittografata e viene archiviata nel file core-site.xml come testo normale.
Verifica
Quando si visualizza il cluster HDInsight nel portale di Azure, selezionare la voce account Archiviazione in Proprietà non vengono visualizzati gli account di archiviazione aggiunti tramite questa azione script. Azure PowerShell e l'interfaccia della riga di comando di Azure non visualizzano nemmeno l'account di archiviazione aggiuntivo. Le informazioni di archiviazione non vengono visualizzate perché lo script modifica solo la core-site.xml
configurazione per il cluster. Queste informazioni non vengono usate quando si recuperano le informazioni del cluster usando le API di gestione di Azure.
Per verificare l'uso dello spazio di archiviazione aggiuntivo, usare uno dei metodi illustrati:
PowerShell
Lo script restituisce i nomi Archiviazione account associati al cluster specificato. Sostituire CLUSTERNAME
con il nome effettivo del cluster e quindi eseguire lo script.
# Update values
$clusterName = "CLUSTERNAME"
$creds = Get-Credential -UserName "admin" -Message "Enter the cluster login credentials"
$clusterName = $clusterName.ToLower();
# getting service_config_version
$resp = Invoke-WebRequest -Uri "https://$clusterName.azurehdinsight.net/api/v1/clusters/$clusterName`?fields=Clusters/desired_service_config_versions/HDFS" `
-Credential $creds -UseBasicParsing
$respObj = ConvertFrom-Json $resp.Content
$configVersion=$respObj.Clusters.desired_service_config_versions.HDFS.service_config_version
$resp = Invoke-WebRequest -Uri "https://$clusterName.azurehdinsight.net/api/v1/clusters/$clusterName/configurations/service_config_versions?service_name=HDFS&service_config_version=$configVersion" `
-Credential $creds
$respObj = ConvertFrom-Json $resp.Content
# extract account names
$value = ($respObj.items.configurations | Where type -EQ "core-site").properties | Get-Member -membertype properties | Where Name -Like "fs.azure.account.key.*"
foreach ($name in $value ) { $name.Name.Split(".")[4]}
Apache Ambari
In un Web browser passare a
https://CLUSTERNAME.azurehdinsight.net
doveCLUSTERNAME
è il nome del cluster.Passare a Configurazioni>HDFS>Avanzate>core-site.
Osservare le chiavi che iniziano con
fs.azure.account.key
. Il nome dell'account fa parte della chiave come illustrato in questa immagine di esempio:
Rimuovere account di archiviazione
In un Web browser passare a
https://CLUSTERNAME.azurehdinsight.net
doveCLUSTERNAME
è il nome del cluster.Passare a Configurazioni>HDFS>Avanzate>core-site.
Rimuovere le chiavi seguenti:
fs.azure.account.key.<STORAGE_ACCOUNT_NAME>.blob.core.windows.net
fs.azure.account.keyprovider.<STORAGE_ACCOUNT_NAME>.blob.core.windows.net
Dopo aver rimosso queste chiavi e salvato la configurazione, è necessario riavviare Oozie, Yarn, MapReduce2, HDFS e Hive uno alla volta.
Problemi noti
firewall Archiviazione
Se si sceglie di proteggere l'account di archiviazione con le restrizioni firewall e reti virtuali nelle reti selezionate, assicurarsi di abilitare l'eccezione Consenti servizi Microsoft attendibili in modo che HDInsight possa accedere all'account di archiviazione.
Non è possibile accedere alla risorsa di archiviazione dopo la modifica della chiave
Se si modifica la chiave per un account di archiviazione, HDInsight non potrà più accedere all'account di archiviazione. HDInsight usa una copia memorizzata nella cache della chiave in core-site.xml per il cluster. Questa copia memorizzata nella cache deve essere aggiornata in modo che corrisponda alla nuova chiave.
L'esecuzione dell'azione script non aggiorna nuovamente la chiave, perché lo script verifica se esiste già una voce per l'account di archiviazione. Se esiste già una voce, non apporta modifiche.
Per risolvere il problema:
Vedere Aggiornare le chiavi di accesso dell'account di archiviazione su come ruotare le chiavi di accesso.
È anche possibile rimuovere l'account di archiviazione e quindi aggiungere di nuovo l'account di archiviazione.
Passaggi successivi
Si è appreso come aggiungere altri account di archiviazione a un cluster HDInsight esistente. Per altre informazioni sulle azioni script, vedere Personalizzare cluster HDInsight basati su Linux tramite Azione script
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per