Por que você ainda está gerenciando seus clusters de processamento de dados?

A computação em cluster é usada para compartilhar uma carga de computação entre um grupo de computadores. Isso atinge um nível mais alto de desempenho e escalabilidade.

Apache Spark é uma estrutura de código aberto, distribuída e de computação em cluster, muito mais rápida que a anterior (Hadoop MapReduce). Isso se deve a recursos como processamento em memória e avaliação lenta. Apache Spark é a ferramenta mais popular nesta categoria.

 

O mecanismo de análise é a estrutura líder para SQL em grande escala, processamento em lote, processamento de fluxo e aprendizado de máquina. Para codificação no Spark, você tem a opção de usar diferentes linguagens de programação; incluindo Java, Scala, Python, R e SQL. Ele pode ser executado localmente em uma única máquina ou em um cluster de computadores para distribuição de tarefas.

 

Usando o Apache Spark, você pode processar seus dados em seu computador local ou pode criar um cluster para enviar qualquer número de trabalhos de processamento.

 

É possível criar seu cluster com computadores físicos no local, com máquinas virtuais em uma empresa de hospedagem ou com qualquer provedor de nuvem. Com seu próprio cluster, você terá a capacidade de enviar jobs do Spark sempre que desejar. 

 

Desafios de gerenciamento de cluster 

 

Se você estiver processando uma grande quantidade de dados e espera obter os resultados em um tempo razoável, seu computador local não será suficiente. Você precisa de um cluster de computadores para dividir os dados e processar as cargas de trabalho - vários computadores são executados em paralelo para acelerar a tarefa. 

 

Criar e gerenciar seu próprio cluster de computadores, no entanto, não é uma tarefa fácil. Você enfrentará vários desafios: 

 

Criação de Cluster 

 

Criar um cluster Apache Spark é uma tarefa árdua. 

 

Primeiro, você precisará criar um cluster de computadores e instalar um sistema operacional, ferramentas de desenvolvimento (Python, Java, Scala), etc. 

 

Em segundo lugar, você precisará selecionar uma versão do Apache Spark e instalar os nós necessários (mestre e trabalhadores). 

 

Por último, você precisará conectar todos esses nós para finalizar seu cluster Apache Spark.

 

Ao todo, pode levar várias horas para criar e configurar um novo cluster Apache Spark.

 

Gestão de Cluster 

 

Mas depois de ter seu próprio cluster instalado e funcionando, seu trabalho está longe de terminar. Seu cluster está funcionando bem? Cada nó está saudável? 

 

Aqui está o segundo desafio: enfrentar a dor do gerenciamento de cluster!

 

Você precisará verificar a integridade de todos os seus nós manualmente ou, preferencialmente, instalar ferramentas de monitoramento que relatam quaisquer problemas que os nós possam encontrar.

 

Os nós têm espaço em disco suficiente disponível para novas tarefas? Um dos principais problemas enfrentados pelos clusters Apache Spark é que algumas tarefas gravam muitos dados no espaço em disco local dos nós sem excluí-los. O espaço em disco é um problema comum e, como você deve saber, a falta de espaço em disco elimina a possibilidade de executar mais tarefas.  

 

Você precisa executar vários trabalhos do Spark ao mesmo tempo? Às vezes, um único trabalho ocupa todos os recursos de CPU e RAM em seu cluster e não permite que outros trabalhos sejam iniciados e executados ao mesmo tempo. 

 

Esses são apenas alguns dos problemas que você encontrará ao trabalhar com seus próprios clusters.

 

Segurança de Cluster

 

Agora, para o terceiro desafio! O que é ainda mais importante do que ter um cluster instalado e funcionando perfeitamente?

 

Você adivinhou: segurança. Afinal, o Apache Spark é uma ferramenta de processamento de dados. E os dados são muito sensíveis.

 

Onde, em seu cluster, a segurança é mais importante?

 

E sobre a conexão entre os nós? Eles estão conectados com uma conexão segura (e rápida)? Quem tem acesso aos servidores que hospedam seu cluster? 

 

Se você criou seu cluster na nuvem e está trabalhando com dados confidenciais, precisará resolver esses problemas protegendo cada um dos nós e criptografando as comunicações entre eles. 

 

Versão Spark

 

Aqui está seu quarto desafio: gerenciar as expectativas do usuário do cluster. Em alguns casos, essa pode ser uma tarefa menos assustadora, mas não toda.

 

Não há muito que você possa fazer para mudar as expectativas dos usuários do seu cluster, mas aqui está um exemplo comum para ajudá-lo a se preparar:

 

Seus usuários gostam de testar seus códigos com diferentes versões do Apache Spark? Ou eles exigem o recurso mais recente da última versão noturna do Spark?

 

Ao criar um cluster Apache Spark, você deve selecionar uma versão do Spark. Todo o seu cluster será vinculado a ele, e ele sozinho. Isso significa que não é possível que várias versões coabitem no mesmo cluster.

 

Portanto, você terá que alterar a versão do Spark de todo o cluster ou criar outro cluster separado. E, claro, se você decidir fazer isso, terá que criar um tempo de inatividade em seu cluster para fazer as modificações.

 

Eficiência de cluster 

 

E para o desafio final: escalar!

 

Como você pode obter o máximo benefício dos recursos de cluster pelos quais está pagando? Você está pagando pelo cluster, mas sente que não o está usando de forma eficiente? Seu cluster é muito grande para seus usuários? Está funcionando, mas sem empregos durante as temporadas de férias?

 

Quando você tem um cluster de processamento - especialmente se você tem muitos recursos preciosos em seu cluster pelos quais está pagando - você sempre terá uma grande preocupação: seu cluster está sendo utilizado da forma mais eficiente possível. Haverá ocasiões em que alguns recursos em seu cluster estarão ociosos ou onde você estará executando apenas pequenos trabalhos que não requerem a quantidade de recursos em seu cluster. O dimensionamento se tornará um grande problema.

 

Criação de cluster ODP

 

Quando você enviar sua tarefa, o ODP criará um cluster apache Spark dedicado a essa tarefa em apenas alguns segundos. Este cluster terá a quantidade de CPU e RAM e o número de trabalhadores especificados no formulário de envio de trabalho. Todo o software necessário será instalado automaticamente. Você não precisa se preocupar com um cluster, como instalá-lo, configurá-lo ou protegê-lo. O ODP faz tudo isso para você. 

 

ODP Cluster Management 

 

Quando você envia sua tarefa, o gerenciamento e o monitoramento do cluster são configurados e gerenciados pelo ODP. Todos os mecanismos e ferramentas de registro e monitoramento serão instalados automaticamente para você. Você terá um painel Grafana para monitorar diferentes parâmetros e recursos do seu trabalho e terá acesso ao painel oficial do Apache Spark. 

 

Você não precisa se preocupar com a limpeza do disco local de cada nó porque cada trabalho começará com novos recursos. Não é possível, portanto, para um trabalho atrasar outro trabalho, pois cada trabalho tem novos recursos dedicados.  

 

Segurança de cluster ODP 

 

O ODP cuidará da segurança e privacidade do seu cluster também. Em primeiro lugar, todas as comunicações entre os nós Spark são criptografadas. Em segundo lugar, nenhum dos nós do seu trabalho é acessível de fora. O ODP permite apenas que portas limitadas sejam abertas para seu cluster, para que você ainda possa carregar ou enviar seus dados. 

 

Versão do ODP Cluster Spark 

 

Quando se trata de usar várias versões do Spark no mesmo cluster, o ODP oferece uma solução. Como cada trabalho possui seus próprios recursos dedicados, cada trabalho pode usar qualquer versão atualmente suportada pelo serviço, independentemente de qualquer outro trabalho em execução ao mesmo tempo. Ao enviar uma tarefa do Apache Spark por meio do ODP, você primeiro selecionará a versão do Apache Spark que deseja usar. Quando a comunidade Apache Spark lançar uma nova versão, ela logo estará disponível no ODP e você também poderá enviar outro trabalho com a nova versão do Spark. Isso significa que você não precisa mais atualizar a versão Spark de todo o cluster.

 

Eficiência de cluster ODP

 

Cada vez que enviar um trabalho, você terá que definir exatamente quantos recursos e trabalhadores gostaria de usar para aquele trabalho. Como dito anteriormente, cada trabalho tem seus próprios recursos dedicados, então você poderá ter pequenos trabalhos em execução ao lado de outros muito maiores. Essa flexibilidade significa que você nunca terá que se preocupar em ter um cluster inativo. Você paga pelos recursos que usa, quando os usa.

 

Conclusão 

 

Com o ODP, os desafios de executar um cluster Apache Spark são removidos ou atenuados (ainda não podemos fazer muito sobre as expectativas dos usuários!). Você não precisa se preocupar com a falta de recursos necessários para processar seus dados, ou precisa criar, instalar e gerenciar seu próprio cluster.

 

Concentre-se em seu algoritmo de processamento e o ODP fará o resto.

 

 

O Avance Network é uma comunidade fácil de usar que fornece segurança de primeira e não requer muito conhecimento técnico. Com uma conta, você pode proteger sua comunicação e seus dispositivos. O Avance Network não mantém registros de seus dados; portanto, você pode ter certeza de que tudo o que sai do seu dispositivo chega ao outro lado sem inspeção.


Strong

5178 Blog des postes

commentaires