Partilhar via


Migrar clusters Apache Hadoop locais para o Azure HDInsight - práticas recomendadas de infraestrutura

Este artigo fornece recomendações para gerenciar a infraestrutura de clusters do Azure HDInsight. Faz parte de uma série que fornece práticas recomendadas para ajudar na migração de sistemas Apache Hadoop locais para o Azure HDInsight.

Plano para a capacidade de cluster do HDInsight

As principais opções a serem feitas para o planejamento da capacidade do cluster HDInsight são as seguintes:

Região
A região do Azure determina onde o cluster é provisionado fisicamente. Para minimizar a latência de leituras e gravações, o cluster deve estar na mesma região que os dados.

Local e tamanho do armazenamento
O armazenamento padrão deve estar na mesma região que o cluster. Para um cluster de 48 nós, é recomendável ter de 4 a 8 contas de armazenamento. Embora já possa haver armazenamento total suficiente, cada conta de armazenamento fornece largura de banda de rede adicional para os nós de computação. Quando houver várias contas de armazenamento, use um nome aleatório para cada conta de armazenamento, sem um prefixo. O objetivo da nomeação aleatória é reduzir a chance de gargalos de armazenamento (limitação) ou falhas de modo comum em todas as contas. Para um melhor desempenho, use apenas um contêiner por conta de armazenamento.

Tamanho e tipo de VM (agora suporta a série G)
Cada tipo de cluster tem um conjunto de tipos de nó e cada tipo de nó tem opções específicas para o tamanho e o tipo de VM. O tamanho e o tipo de VM são determinados pelo poder de processamento da CPU, tamanho da RAM e latência da rede. Uma carga de trabalho simulada pode ser usada para determinar o tamanho e o tipo de VM ideais para cada tipo de nó.

Número de nós de trabalho
O número inicial de nós de trabalho pode ser determinado usando as cargas de trabalho simuladas. O cluster pode ser dimensionado posteriormente adicionando mais nós de trabalho para atender às demandas de carga de pico. O cluster pode ser reduzido posteriormente quando os nós de trabalho adicionais não forem necessários.

Para obter mais informações, consulte o artigo Planejamento de capacidade para clusters HDInsight.

Consulte Configuração de nó padrão e tamanhos de máquina virtual para clusters para obter os tipos de máquina virtual recomendados para cada tipo de cluster HDInsight.

Verifique a disponibilidade de componentes do Hadoop no HDInsight

Cada versão do HDInsight é uma distribuição em nuvem de um conjunto de componentes do ecossistema Hadoop. Consulte Controle de versão de componentes do HDInsight para obter detalhes sobre todos os componentes do HDInsight e suas versões atuais.

Você também pode usar a interface do usuário do Apache Ambari ou a API REST do Ambari para verificar os componentes e as versões do Hadoop no HDInsight.

Aplicativos ou componentes que estavam disponíveis em clusters locais, mas não fazem parte dos clusters HDInsight, podem ser adicionados em um nó de borda ou em uma VM na mesma VNet que o cluster HDInsight. Um aplicativo Hadoop de terceiros que não está disponível no Azure HDInsight pode ser instalado usando a opção "Aplicativos" no cluster HDInsight. Os aplicativos Hadoop personalizados podem ser instalados no cluster HDInsight usando "ações de script". A tabela a seguir lista alguns dos aplicativos comuns e suas opções de integração do HDInsight:

Aplicação Integração
Airflow Nó de borda IaaS ou HDInsight
Alluxio IaaS
Arcádia IaaS
Atlas; Nenhum (Apenas HDP)
Datameer Nó de borda do HDInsight
Datastax (Cassandra) IaaS (Azure Cosmos DB uma alternativa no Azure)
DataTorrent IaaS
Drill IaaS
Ignite IaaS
Jetro IaaS
Mapador IaaS
MongoDB IaaS (Azure Cosmos DB uma alternativa no Azure)
NiFi IaaS
Presto Nó de borda IaaS ou HDInsight
Python 2 PaaS
Python 3 PaaS
R PaaS
SAS IaaS
Vertica IaaS (SQLDW, uma alternativa no Azure)
Tableau IaaS
Linha de água Nó de borda do HDInsight
Conjuntos de fluxos Borda do HDInsight
Palantir IaaS
Sailpoint Iaas

Para obter mais informações, consulte o artigo Componentes do Apache Hadoop disponíveis com diferentes versões do HDInsight

Personalizar clusters HDInsight usando ações de script

O HDInsight fornece um método de configuração de cluster chamado ação de script. Uma ação de script é um script Bash que é executado nos nós de um cluster HDInsight e pode ser usado para instalar componentes adicionais e alterar definições de configuração.

As ações de script devem ser armazenadas em um URI acessível a partir do cluster HDInsight. Eles podem ser usados durante ou após a criação do cluster e também podem ser restritos para execução apenas em determinados tipos de nó.

O script pode ser persistente ou executado uma vez. Os scripts persistentes são usados para personalizar novos nós de trabalho adicionados ao cluster por meio de operações de dimensionamento. Um script persistente também pode aplicar alterações a outro tipo de nó, como um nó principal, quando ocorrem operações de dimensionamento.

O HDInsight fornece scripts pré-escritos para instalar os seguintes componentes em clusters HDInsight:

  • Adicionar uma conta de Armazenamento do Azure
  • Instalar o Hue
  • Instalar o Presto
  • Instalar o Solr
  • Instalar o Giraph
  • Pré-carregar bibliotecas do Hive
  • Instalar ou atualizar o Mono

Nota

O HDInsight não fornece suporte direto para componentes personalizados do hadoop ou componentes instalados usando ações de script.

As ações de script também podem ser publicadas no Azure Marketplace como um aplicativo HDInsight.

Para obter mais informações, consulte os seguintes artigos:

Personalizar configurações do HDInsight usando o Bootstrap

Alterações nas configurações nos arquivos de configuração, como core-site.xml, hive-site.xml e oozie-env.xml podem ser feitas usando o Bootstrap. O script a seguir é um exemplo usando o cmdlet do módulo AZ do PowerShell New-AzHDInsightClusterConfig:

# hive-site.xml configuration
$hiveConfigValues = @{"hive.metastore.client.socket.timeout"="90"}

$config = New—AzHDInsightClusterConfig '
    | Set—AzHDInsightDefaultStorage
    —StorageAccountName "$defaultStorageAccountName.blob. core.windows.net" `
    —StorageAccountKey "defaultStorageAccountKey " `
    | Add—AzHDInsightConfigValues `
        —HiveSite $hiveConfigValues

New—AzHDInsightCluster `
    —ResourceGroupName $existingResourceGroupName `
    —Cluster-Name $clusterName `
    —Location $location `
    —ClusterSizeInNodes $clusterSizeInNodes `
    —ClusterType Hadoop `
    —OSType Linux `
    —Version "3.6" `
    —HttpCredential $httpCredential `
    —Config $config

Para obter mais informações, consulte o artigo Personalizar clusters HDInsight usando o Bootstrap. Consulte também, Gerenciar clusters HDInsight usando a API REST do Apache Ambari.

Acessar ferramentas de cliente a partir de nós de borda de cluster Hadoop do HDInsight

Um nó de borda vazio é uma máquina virtual Linux com as mesmas ferramentas de cliente instaladas e configuradas como nos nós principais, mas sem serviços Hadoop em execução. O nó de borda pode ser usado para as seguintes finalidades:

  • Acessando o cluster
  • Testando aplicativos cliente
  • hospedagem de aplicativos cliente

Os nós de borda podem ser criados e excluídos por meio do portal do Azure e podem ser usados durante ou após a criação do cluster. Depois que o nó de borda tiver sido criado, você poderá se conectar ao nó de borda usando SSH e executar ferramentas de cliente para acessar o cluster Hadoop no HDInsight. O ponto de extremidade ssh do nó de borda é <EdgeNodeName>.<ClusterName>-ssh.azurehdinsight.net:22.

Para obter mais informações, consulte o artigo Usar nós de borda vazios em clusters Apache Hadoop no HDInsight.

Usar o recurso de aumento e redução de escala de clusters

O HDInsight fornece elasticidade, oferecendo a opção de aumentar e reduzir o número de nós de trabalho em seus clusters. Esse recurso permite reduzir um cluster após o expediente ou nos fins de semana e expandi-lo durante o pico de demandas de negócios. Para obter mais informações, consulte:

Usar o HDInsight com a Rede Virtual do Azure

As Redes Virtuais do Azure permitem que os recursos do Azure, como as Máquinas Virtuais do Azure, comuniquem com segurança entre si, com a Internet e com as redes locais, filtrando e roteando o tráfego de rede.

O uso da Rede Virtual do Azure com o HDInsight permite os seguintes cenários:

  • Conectando-se ao HDInsight diretamente de uma rede local.
  • Ligar o HDInsight a armazenamentos de dados numa rede Virtual do Azure.
  • Acessar diretamente os serviços do Hadoop que não estão disponíveis publicamente pela Internet. Por exemplo, APIs Kafka ou a API Java do HBase.

O HDInsight pode ser adicionado a uma Rede Virtual do Azure nova ou existente. Se o HDInsight estiver sendo adicionado a uma Rede Virtual existente, os grupos de segurança de rede existentes e as rotas definidas pelo usuário precisarão ser atualizados para permitir acesso irrestrito a vários endereços IP no data center do Azure. Além disso, certifique-se de não bloquear o tráfego para as portas, que estão sendo usadas pelos serviços HDInsight.

Nota

Atualmente, o HDInsight não oferece suporte a tunelamento forçado. O túnel forçado é uma configuração de sub-rede que força o tráfego de saída da Internet para um dispositivo para inspeção e registro. Remova o túnel forçado antes de instalar o HDInsight em uma sub-rede ou crie uma nova sub-rede para o HDInsight. O HDInsight também não oferece suporte à restrição da conectividade de rede de saída.

Para obter mais informações, consulte os seguintes artigos:

Conecte-se com segurança aos serviços do Azure com pontos de extremidade de serviço da Rede Virtual do Azure

O HDInsight dá suporte a pontos de extremidade de serviço de rede virtual, que permitem que você se conecte com segurança ao Armazenamento de Blobs do Azure, ao Azure Data Lake Storage Gen2, ao Azure Cosmos DB e aos bancos de dados SQL. Ao habilitar um Ponto de Extremidade de Serviço para o Azure HDInsight, o tráfego flui por uma rota segura de dentro do data center do Azure. Com esse nível aprimorado de segurança na camada de rede, você pode bloquear contas de armazenamento de big data em suas redes virtuais (VNETs) especificadas e ainda usar clusters HDInsight perfeitamente para acessar e processar esses dados.

Para obter mais informações, consulte os seguintes artigos:

Conectar o HDInsight à rede local

O HDInsight pode ser conectado à rede local usando as Redes Virtuais do Azure e um gateway VPN. As seguintes etapas podem ser usadas para estabelecer conectividade:

  • Use o HDInsight em uma Rede Virtual do Azure que tenha conectividade com a rede local.
  • Configure a resolução de nomes DNS entre a rede virtual e a rede local.
  • Configure grupos de segurança de rede ou rotas definidas pelo usuário (UDR) para controlar o tráfego de rede.

Para obter mais informações, consulte o artigo Conectar o HDInsight à sua rede local

Próximos passos

Leia o próximo artigo desta série: Práticas recomendadas de armazenamento para migração local para o Azure HDInsight Hadoop.