Este documento aborda as práticas recomendadas do Dataproc que podem ajudar você executar jobs de processamento de dados confiáveis, eficientes e cheios de insights Clusters do Dataproc em ambientes de produção.
Especificar versões da imagem do cluster
O Dataproc usa versões de imagem agrupar sistemas operacionais, componentes de Big Data, e conectores do Google Cloud em um pacote implantado em um cluster. Se você não especificar uma versão de imagem ao criar um cluster, o Dataproc o padrão é a versão de imagem estável mais recente.
Para ambientes de produção, associe o cluster a um
major.minor
Versão de imagem do Dataproc, conforme
mostrado no comando da CLI gcloud a seguir.
gcloud dataproc clusters create CLUSTER_NAME \ --region=region \ --image-version=2.0
O Dataproc resolve a versão major.minor
para a versão subsecundária mais recente.
(2.0
é resolvido para 2.0.x
). Observação: se você precisar de uma versão subsecundária para o cluster,
é possível especificá-lo: por exemplo, --image-version=2.0.x
. Consulte
Como funciona o controle de versões para
mais informações.
Versões de imagens de visualização do Dataproc
Novas versões secundárias do Dataproc
as imagens estão disponíveis em uma versão preview
anterior ao lançamento
na faixa de versão de imagem secundária padrão. Usar uma imagem de visualização
para testar e validar seus jobs em relação a uma nova versão de imagem secundária
antes de adotar a versão secundária padrão na produção.
Consulte Controle de versões do Dataproc
para mais informações.
Use imagens personalizadas quando necessário
Se você tiver dependências para adicionar ao cluster, como nativas bibliotecas Python, ou de aumento da proteção de segurança ou software de proteção crie uma imagem personalizada usando a imagem mais recente. na faixa de versão de imagem secundária de destino. Essa prática permite atender aos requisitos de dependência quando você cria clusters usando a imagem personalizada. Quando você recriar sua imagem personalizada para atualize os requisitos de dependência, use a versão de imagem subsecundária mais recente disponível na faixa da imagem secundária.
Enviar jobs para o serviço Dataproc
Envie jobs para o serviço Dataproc com um jobs.submit usando o método CLI gcloud ou o console do Google Cloud. Defina permissões de job e cluster concedendo Papéis do Dataproc Usar papéis personalizados para separar o acesso ao cluster das permissões de envio de jobs.
Benefícios de enviar jobs para o serviço Dataproc:
- Não são necessárias configurações de rede complicadas, e a API é amplamente acessível
- Permissões e papéis do IAM fáceis de gerenciar
- Acompanhe o status do job com facilidade, sem metadados de jobs do Dataproc para complicar os resultados.
Na produção, execute jobs que dependem apenas do nível do cluster
dependências em uma versão de imagem secundária fixa, (por exemplo, --image-version=2.0
). Agrupamento
dependências com jobs quando eles forem enviados. Enviando
um Uber Jar para
Uma maneira comum de fazer isso é o Spark ou o MapReduce.
- Exemplo: se um jar do job depende de
args4j
espark-sql
, comargs4j
específico para o job espark-sql
uma dependência no nível do cluster, agrupeargs4j
no uber jar do job.
Controlar os locais de ação de inicialização
Ações de inicialização permitem que você execute scripts ou instale componentes ao criar um cluster do Dataproc (consulte a dataproc-initialization-actions repositório do GitHub para ações comuns de inicialização do Dataproc). Ao usar ações de inicialização de cluster em uma produção copie os scripts de inicialização para o Cloud Storage em vez de extraí-los de um repositório público. Essa prática evita scripts de inicialização que estão sujeitos à modificação por outras pessoas.
Monitorar as notas de lançamento do Dataproc
O Dataproc lança regularmente novas versões de imagens subsecundárias. Visualizar ou assinar as notas da versão do Dataproc conhecer os lançamentos mais recentes de versões de imagem do Dataproc e outras anúncios, mudanças e correções.
Visualizar o bucket de preparo para investigar falhas
Observe o bucket de preparo para investigar mensagens de erro de cluster e job. Normalmente, o local do Cloud Storage do bucket de preparo é mostrado em de erro conforme exibido em negrito no exemplo de erro a seguir mensagem:
ERROR: (gcloud.dataproc.clusters.create) Operation ... failed: ... - Initialization action failed. Failed action ... see output in: gs://dataproc-<BUCKETID>-us-central1/google-cloud-dataproc-metainfo/CLUSTERID/<CLUSTER_ID>\dataproc-initialization-script-0_output
Use a CLI gcloud para visualizar o conteúdo do bucket de preparo:
gcloud storage cat gs://STAGING_BUCKET
Exemplo de saída:+ readonly RANGER_VERSION=1.2.0 ... Ranger admin password not set. Please use metadata flag - default-password
Receber suporte
O Google Cloud oferece suporte às suas cargas de trabalho OSS de produção e ajuda você a atender SLAs comerciais pelos níveis de suporte. Além disso, o Google Cloud Os serviços de consultoria fornecem orientações sobre as práticas recomendadas. para implantações de produção da equipe.
Para mais informações
Leia o guia de práticas recomendadas do Dataproc no blog do Google Cloud.
Veja Democratização do Dataproc no YouTube.