Criar um cluster do HDInsight com Azure Data Lake Storage Gen1 com o modelo de Resource Manager do Azure
Saiba como utilizar Azure PowerShell para configurar um cluster do HDInsight com Azure Data Lake Storage Gen1, como armazenamento adicional.
Para tipos de cluster suportados, Data Lake Storage Gen1 podem ser utilizadas como armazenamento predefinido ou como uma conta de armazenamento adicional. Quando Data Lake Storage Gen1 é utilizada como armazenamento adicional, a conta de armazenamento predefinida para os clusters continuará a ser o Armazenamento de Blobs do Azure (WASB) e os ficheiros relacionados com o cluster (como registos, etc.) ainda são escritos no armazenamento predefinido, enquanto os dados que pretende processar podem ser armazenados numa conta Data Lake Storage Gen1. Utilizar Data Lake Storage Gen1 como uma conta de armazenamento adicional não afeta o desempenho ou a capacidade de ler/escrever no armazenamento a partir do cluster.
Utilizar Data Lake Storage Gen1 para o armazenamento de clusters do HDInsight
Seguem-se algumas considerações importantes para utilizar o HDInsight com Data Lake Storage Gen1:
Opção para criar clusters do HDInsight com acesso a Data Lake Storage Gen1 uma vez que o armazenamento predefinido está disponível para a versão 3.5 e 3.6 do HDInsight.
Opção para criar clusters do HDInsight com acesso a Data Lake Storage Gen1, uma vez que está disponível armazenamento adicional para as versões 3.2, 3.4, 3.5 e 3.6 do HDInsight.
Neste artigo, aprovisionamos um cluster do Hadoop com Data Lake Storage Gen1 como armazenamento adicional. Para obter instruções sobre como criar um cluster do Hadoop com Data Lake Storage Gen1 como armazenamento predefinido, veja Criar um cluster do HDInsight com Data Lake Storage Gen1 com portal do Azure.
Pré-requisitos
Nota
Recomendamos que utilize o módulo do Azure Az PowerShell para interagir com o Azure. Veja Instalar o Azure PowerShell para começar. Para saber como migrar para o módulo do Az PowerShell, veja Migrar o Azure PowerShell do AzureRM para o Az.
Antes de começar este tutorial, tem de ter o seguinte:
Uma subscrição do Azure. Consulte Obter versão de avaliação gratuita do Azure.
Azure PowerShell 1.0 ou superior. Consulte Como instalar e configurar o Azure PowerShell.
Microsoft Entra principal de serviço. Os passos neste tutorial fornecem instruções sobre como criar um principal de serviço no Microsoft Entra ID. No entanto, tem de ser um administrador Microsoft Entra para poder criar um principal de serviço. Se for um administrador Microsoft Entra, pode ignorar este pré-requisito e prosseguir com o tutorial.
Se não for um administrador Microsoft Entra, não poderá executar os passos necessários para criar um principal de serviço. Nesse caso, o administrador Microsoft Entra tem primeiro de criar um principal de serviço antes de poder criar um cluster do HDInsight com Data Lake Storage Gen1. Além disso, o principal de serviço tem de ser criado com um certificado, conforme descrito em Criar um principal de serviço com certificado.
Criar um cluster do HDInsight com Data Lake Storage Gen1
O modelo Resource Manager e os pré-requisitos para utilizar o modelo estão disponíveis no GitHub em Implementar um cluster do HDInsight Linux com novos Data Lake Storage Gen1. Siga as instruções fornecidas nesta ligação para criar um cluster do HDInsight com Data Lake Storage Gen1 como armazenamento adicional.
As instruções na ligação mencionada acima requerem o PowerShell. Antes de começar com essas instruções, certifique-se de que inicia sessão na sua conta do Azure. A partir do ambiente de trabalho, abra uma nova janela de Azure PowerShell e introduza os seguintes fragmentos. Quando lhe for pedido para iniciar sessão, certifique-se de que inicia sessão como um dos administradores/proprietário da subscrição:
# Log in to your Azure account
Connect-AzAccount
# List all the subscriptions associated to your account
Get-AzSubscription
# Select a subscription
Set-AzContext -SubscriptionId <subscription ID>
O modelo implementa estes tipos de recursos:
Carregar dados de exemplo para Data Lake Storage Gen1
O modelo de Resource Manager cria uma nova conta de armazenamento com Data Lake Storage Gen1 e associa-a ao cluster do HDInsight. Agora tem de carregar alguns dados de exemplo para Data Lake Storage Gen1. Irá precisar destes dados mais tarde no tutorial para executar tarefas a partir de um cluster do HDInsight que aceda aos dados na conta de armazenamento com Data Lake Storage Gen1. Para obter instruções sobre como carregar dados, consulte Carregar um ficheiro para Data Lake Storage Gen1. Se estiver à procura de alguns dados de exemplo para carregar, pode obter a pasta Ambulance Data a partir do Repositório de Git do Azure Data Lake.
Definir ACLs relevantes nos dados de exemplo
Para se certificar de que os dados de exemplo que carrega estão acessíveis a partir do cluster do HDInsight, tem de garantir que a aplicação Microsoft Entra utilizada para estabelecer identidade entre o cluster do HDInsight e Data Lake Storage Gen1 tem acesso ao ficheiro/pasta a que está a tentar aceder. Para tal, execute os seguintes passos.
- Localize o nome da aplicação Microsoft Entra que está associada ao cluster do HDInsight e à conta de armazenamento com Data Lake Storage Gen1. Uma forma de procurar o nome é abrir o painel de cluster do HDInsight que criou com o modelo de Resource Manager, clicar no separador Identidade do Cluster Microsoft Entra e procurar o valor do Nome a Apresentar do Principal de Serviço.
- Agora, forneça acesso a esta aplicação Microsoft Entra no ficheiro/pasta a que pretende aceder a partir do cluster do HDInsight. Para definir as ACLs certas no ficheiro/pasta no Data Lake Storage Gen1, veja Proteger dados no Data Lake Storage Gen1.
Executar tarefas de teste no cluster do HDInsight para utilizar Data Lake Storage Gen1
Depois de configurar um cluster do HDInsight, pode executar tarefas de teste no cluster para testar se o cluster do HDInsight pode aceder a Data Lake Storage Gen1. Para tal, iremos executar uma tarefa do Hive de exemplo que cria uma tabela com os dados de exemplo que carregou anteriormente para a sua conta de armazenamento com Data Lake Storage Gen1.
Nesta secção, vai entrar num cluster do HDInsight Linux e executar a consulta do Hive de exemplo. Se estiver a utilizar um cliente Windows, recomendamos que utilize o PuTTY, que pode ser transferido a partir de https://www.chiark.greenend.org.uk/~sgtatham/putty/download.html.
Para obter mais informações sobre como utilizar o PuTTY, consulte Utilizar o SSH com o Hadoop baseado em Linux no HDInsight a partir do Windows.
Depois de ligar, inicie a CLI do Hive com o seguinte comando:
hive
Com a CLI, introduza as seguintes instruções para criar uma nova tabela denominada veículos com os dados de exemplo no Data Lake Storage Gen1:
DROP TABLE vehicles; CREATE EXTERNAL TABLE vehicles (str string) LOCATION 'adl://<mydatalakestoragegen1>.azuredatalakestore.net:443/'; SELECT * FROM vehicles LIMIT 10;
Deverá ver um resultado semelhante ao seguinte:
1,1,2014-09-14 00:00:03,46.81006,-92.08174,51,S,1 1,2,2014-09-14 00:00:06,46.81006,-92.08174,13,NE,1 1,3,2014-09-14 00:00:09,46.81006,-92.08174,48,NE,1 1,4,2014-09-14 00:00:12,46.81006,-92.08174,30,W,1 1,5,2014-09-14 00:00:15,46.81006,-92.08174,47,S,1 1,6,2014-09-14 00:00:18,46.81006,-92.08174,9,S,1 1,7,2014-09-14 00:00:21,46.81006,-92.08174,53,N,1 1,8,2014-09-14 00:00:24,46.81006,-92.08174,63,SW,1 1,9,2014-09-14 00:00:27,46.81006,-92.08174,4,NE,1 1,10,2014-09-14 00:00:30,46.81006,-92.08174,31,N,1
Access Data Lake Storage Gen1 using HDFS commands (Aceder a Data Lake Storage Gen1 com comandos HDFS)
Depois de configurar o cluster do HDInsight para utilizar Data Lake Storage Gen1, pode utilizar os comandos da shell do HDFS para aceder ao arquivo.
Nesta secção, vai SSH para um cluster do HDInsight Linux e executar os comandos HDFS. Se estiver a utilizar um cliente Windows, recomendamos que utilize o PuTTY, que pode ser transferido a partir de https://www.chiark.greenend.org.uk/~sgtatham/putty/download.html.
Para obter mais informações sobre como utilizar o PuTTY, consulte Utilizar o SSH com o Hadoop baseado em Linux no HDInsight a partir do Windows.
Depois de ligado, utilize o seguinte comando do sistema de ficheiros HDFS para listar os ficheiros na conta de armazenamento com Data Lake Storage Gen1.
hdfs dfs -ls adl://<storage account with Data Lake Storage Gen1 name>.azuredatalakestore.net:443/
Esta ação deve listar o ficheiro que carregou anteriormente para Data Lake Storage Gen1.
15/09/17 21:41:15 INFO web.CaboWebHdfsFileSystem: Replacing original urlConnectionFactory with org.apache.hadoop.hdfs.web.URLConnectionFactory@21a728d6
Found 1 items
-rwxrwxrwx 0 NotSupportYet NotSupportYet 671388 2015-09-16 22:16 adl://mydatalakestoragegen1.azuredatalakestore.net:443/mynewfolder
Também pode utilizar o hdfs dfs -put
comando para carregar alguns ficheiros para Data Lake Storage Gen1 e, em seguida, utilizar hdfs dfs -ls
para verificar se os ficheiros foram carregados com êxito.