Private Service Connect com o metastore do Dataproc

Nesta página, você verá o que é o Private Service Connect e como usá-lo para rede como alternativa ao peering de VPC.

Serviço metastore do Dataproc sem peering de VPC

O metastore do Dataproc protege o acesso a metadados expondo somente endpoints de IP privados. Isso também restringe a conectividade às VMs na rede VPC do cliente fornecido por meio do peering de VPC.

O metastore do Dataproc requer o seguinte por região para cada rede VPC:

Configurar o peering de VPC e a reserva de endereço IP representa um desafio para redes VPC lotadas. Da mesma forma, uma rede VPC pode não ter cota de peering suficiente para acomodar solicitações de peering adicionais. Ambas as limitações impedem novas criações de serviço do metastore do Dataproc.

É possível criar um serviço do metastore do Dataproc sem peering de VPC e reservas de blocos de endereços usando o Private Service Connect para expor o endpoint do metastore do Dataproc. O Private Service Connect permite uma conexão particular com os metadados do metastore do Dataproc nas redes VPC.

Com o Private Service Connect, o metastore do Dataproc requer uma reserva de endereço único na sub-rede e uma regra de encaminhamento que segmente o anexo de serviço que expõe o endpoint do Metastore do Dataproc. A reserva de endereço e a regra de encaminhamento são criadas como parte da chamada de criação do serviço Metastore do Dataproc.

Criar um serviço do metastore do Dataproc com o Private Service Connect

As instruções a seguir demonstram como configurar o Private Service Connect durante a criação do serviço.

gcloud

  1. Execute o seguinte comando gcloud beta metastore services create para criar um serviço com o Private Service Connect:

    gcloud beta metastore services create SERVICE \
       --location=LOCATION \
       --consumer-subnetworks="projects/PROJECT_ID/regions/LOCATION/subnetworks/SUBNET1, projects/PROJECT_ID/regions/LOCATION/subnetworks/SUBNET2"
    
  2. Verifique se a criação foi bem-sucedida.

curl

Crie um serviço usando o método create:

     curl -X POST -s -i 
-H "Authorization: Bearer $(gcloud auth print-access-token)"
-d '{"network_config":{"consumers": [{"subnetwork": "projects/PROJECT_ID/regions/LOCATION/subnetworks/SUBNET1"}]}}'
-H "Content-Type:application/json"
https://metastore.googleapis.com/v1beta/projects/PROJECT_ID/locations/LOCATION/services?service_id=SERVICE_ID

O metastore do Dataproc reserva endereços e cria regras de encaminhamento em cada uma das sub-redes especificadas. Cada sub-rede tem um URI de endpoint do Thrift que pode ser usado para acessar o endpoint de metadados do metastore do Dataproc.

Anexe um cluster do Dataproc

É possível anexar um cluster do Dataproc que usa o serviço Metastore do Dataproc com o Private Service Connect como metastore do Hive.

Há duas maneiras de anexar um cluster do Dataproc:

  • Opção 1: fornecer a seguinte configuração da propriedade do Hive ao criar o cluster do Dataproc.

    1. Execute o seguinte comando gcloud dataproc clusters create:

       gcloud dataproc clusters create CLUSTER_NAME 
      --properties="hive:hive.metastore.uris=$ENDPOINT_URI,hive:hive.metastore.warehouse.dir=$WAREHOUSE_DIR/hive-warehouse"

  • Opção 2: atualize o hive-site.xml no cluster do Dataproc com o URI do endpoint listado em NetworkConfig.

    1. Conecte-se via SSH à instância mestre do cluster do Dataproc e execute o seguinte:

      1. Modifique /etc/hive/conf/hive-site.xml no cluster do Dataproc:

        <property>
          <name>hive.metastore.uris</name>
          <!-- Update this value. -->
          <value>ENDPOINT_URI</value>
        </property>
        <!-- Add this property entry. -->
        <property>
          <name>hive.metastore.warehouse.dir</name>
          <value>WAREHOUSE_DIR</value>
        </property>
        
      2. Reinicie o HiveServer2:

        sudo systemctl restart hive-server2.service
        

Advertências do Private Service Connect para o metastore do Dataproc

  • Os endpoints do serviço do metastore do Dataproc que usam o Private Service Connect são compatíveis apenas com o acesso de sub-redes na mesma região do serviço.
  • A conectividade reversa não é possível. Isso significa que a configuração do Kerberos com a configuração do Private Service Connect não é compatível.
  • Não é possível adicionar ou remover sub-redes de um serviço do metastore do Dataproc dinamicamente. Será necessário recriar um serviço se você quiser adicionar ou remover sub-redes.
  • Não é possível atualizar um serviço do metastore do Dataproc da configuração do Private Service Connect para a configuração de peering ou vice-versa.

A seguir