Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
A partire da HDInsight versione 3.5, è possibile creare cluster HDInsight con account Azure Data Lake Storage come file system predefinito. Supportando l'archiviazione illimitata, Data Lake Storage è ideale non solo per l'hosting di grandi quantità di dati, ma anche per l'hosting di più cluster HDInsight che condividono un unico account Data Lake Storage. Per istruzioni su come creare un cluster HDInsight con Data Lake Storage come risorsa di archiviazione, vedere Avvio rapido: Configurare cluster in HDInsight.
Questo articolo offre all'amministratore di Data Lake Storage le informazioni necessarie per configurare un singolo account Data Lake Storage condiviso utilizzabile in più cluster HDInsight attivi. Queste raccomandazioni si applicano all'hosting di più cluster Apache Hadoop sicuri e non sicuri in un account Data Lake Storage condiviso.
Elenchi di controllo di accesso a livello di file e cartella di Data Lake Storage
La parte rimanente di questo articolo presuppone una buona conoscenza degli elenchi di controllo di accesso a livello di file e cartella in Azure Data Lake Storage, descritti in dettaglio in Controllo di accesso in Azure Data Lake Storage.
Configurazione di Data Lake Storage per più cluster HDInsight
Si prenda una gerarchia di cartelle a due livelli per illustrare le raccomandazioni per l'uso di più cluster HDInsight con un account Data Lake Storage. Si consideri, ad esempio, di avere un account Data Lake Storage con la struttura di cartelle /clusters/finance. Con questa struttura, tutti i cluster necessari all'organizzazione Finanza possono usare /clusters/finance come percorso di archiviazione. Se un'altra organizzazione, ad esempio Marketing, vorrà creare in futuro cluster HDInsight usando lo stesso account Data Lake Storage, potrà creare il percorso cluster/marketing. Per il momento si userà solo /clusters/finance.
Per far sì che questa struttura di cartelle venga usata dai cluster HDInsight in modo efficace, l'amministratore di Data Lake Storage deve assegnare le autorizzazioni appropriate, come descritto nella tabella. Le autorizzazioni illustrate nella tabella corrispondono ad ACL di accesso, non ad ACL predefiniti.
Cartella | Autorizzazioni | utente proprietario | gruppo proprietario | Nome non anonimo | Autorizzazioni utente non anonimo | Gruppo non anonimo | Autorizzazioni gruppo non anonimo |
---|---|---|---|---|---|---|---|
/ | rwxr-x--x | amministratore | amministratore | Entità servizio | --x | FINGRP | r-x |
/clusters | rwxr-x--x | amministratore | amministratore | Entità servizio | --x | FINGRP | r-x |
/clusters/finance | rwxr-x--t | amministratore | FINGRP | Entità servizio | rwx |
- | - |
Nella tabella,
- admin è l'autore e l'amministratore dell'account Data Lake Storage.
- L'entità servizio è l'entità servizio Microsoft Entra associata all'account.
- FINGRP è un gruppo di utenti creato in Microsoft Entra ID che contiene gli utenti dell'organizzazione Finance.
Per istruzioni su come creare un'applicazione Microsoft Entra (che crea anche un'entità servizio), vedere Creare un'applicazione Microsoft Entra. Per istruzioni su come creare un gruppo di utenti in Microsoft Entra ID, vedere Gestione dei gruppi in Microsoft Entra ID.
Alcuni punti chiave di cui tener conto.
La struttura di cartelle a due livelli (/cluster/finance/) deve essere creata e configurata con le autorizzazioni appropriate dall'amministratore di Data Lake Storage prima di usare l'account di archiviazione per i cluster. Questa struttura non viene creata automaticamente durante la creazione di cluster.
Nell'esempio precedente si consiglia di impostare il gruppo proprietario di /cluster/finance come FINGRP e di fornire a FINGRP l'autorizzazione r-x per accedere all'intera gerarchia di cartelle, a partire dalla radice. In questo modo, i membri di FINGRP possono esplorare la struttura di cartelle a partire dalla radice.
Nel caso in cui diverse entità servizio Microsoft Entra possano creare cluster in /clusters/finance, il bit permanente (se impostato nella cartella finance ) garantisce che le cartelle create da un'entità servizio non possano essere eliminate dall'altro.
Dopo aver creato la struttura e le autorizzazioni delle cartelle, il processo di creazione del cluster HDInsight crea un percorso di archiviazione specifico del cluster in /clusters/finance/. La risorsa di archiviazione per un cluster con nome fincluster01, ad esempio, può essere /clusters/finance/fincluster01. La tabella seguente elenca la proprietà e le autorizzazioni relative alle cartelle create dal cluster HDInsight.
Cartella Autorizzazioni utente proprietario gruppo proprietario Nome non anonimo Autorizzazioni utente non anonimo Gruppo non anonimo Autorizzazioni gruppo non anonimo /clusters/finance/ fincluster01 rwxr-x--- Entità servizio FINGRP - - - -
Suggerimenti per i dati di input e di output del processo
È consigliabile che i dati di input di un processo e i dati di output del processo vengano archiviati in una cartella esterna a /cluster. In questo modo, anche se la cartella specifica del cluster viene eliminata per recuperare spazio di archiviazione, gli input e gli output del processo sono ancora disponibili per un uso futuro. In tal caso, assicurarsi che la gerarchia di cartelle per l'archiviazione dei dati di input e di output del processo consenta il livello di accesso appropriato per l'entità servizio.
Limite di cluster che condividono un unico account di archiviazione
Il limite relativo al numero di cluster che possono condividere un singolo account Data Lake Storage dipende dal carico di lavoro in esecuzione sui cluster. La presenza di troppi cluster o carichi di lavoro pesanti nei cluster che condividono un account di archiviazione potrebbe causare la limitazione dell'ingresso/uscita dell'account di archiviazione.
Supporto per gli ACL predefiniti
Quando si crea un'entità servizio con accesso denominato-utente (come illustrato nella tabella), è consigliabile non aggiungere l'utente denominato con un elenco di controllo di accesso predefinito. L'assegnazione di un accesso utente non anonimo con ACL predefiniti determina l'assegnazione di 770 autorizzazioni per l'utente proprietario, il gruppo proprietario e altri membri. Anche se questo valore predefinito di 770 non elimina le autorizzazioni dall'utente proprietario (7) o dal gruppo proprietario (7), elimina tutte le autorizzazioni per gli altri (0). Questo genera un problema noto con un particolare caso d'uso analizzato in dettaglio nella sezione Problemi noti e soluzioni alternative.
Problemi noti e soluzioni alternative
In questa sezione sono elencati i problemi noti relativi all'uso di HDInsight con Data Lake Storage e le possibili soluzioni alternative.
Risorse Apache Hadoop YARN localizzate visibili pubblicamente
Quando viene creato un nuovo account Azure Data Lake Storage, la directory radice viene automaticamente configurata con i bit di autorizzazione dell'ACL di accesso impostati su 770. L'utente proprietario della cartella radice è impostato sull'utente che ha creato l'account (l'amministratore di Data Lake Storage) e il gruppo proprietario è impostato sul gruppo principale dell'utente che ha creato l'account. Non viene fornito alcun accesso per "altri".
Queste impostazioni influiscono su uno specifico caso d'uso di HDInsight acquisito in YARN 247. Gli invii di processi potrebbero non riuscire con un messaggio di errore:
Resource XXXX is not publicly accessible and as such cannot be part of the public cache.
Come indicato nel documento JIRA YARN citato in precedenza, durante la localizzazione delle risorse pubbliche il localizzatore verifica che tutte le risorse richieste siano realmente pubbliche controllandone le autorizzazioni sul file system remoto. Qualsiasi LocalResource che non soddisfa tale condizione viene rifiutata per la localizzazione. Il controllo delle autorizzazioni include l'accesso in lettura al file per "altri". Questo scenario non funziona correttamente quando si ospitano cluster HDInsight in Azure Data Lake, poiché Azure Data Lake nega l'accesso a "altri" a livello di cartella radice.
Soluzione alternativa
Impostare le autorizzazioni di lettura-esecuzione per altri utenti tramite la gerarchia, ad esempio , //clusters e /clusters/finance, come illustrato nella tabella.