Apresentação

Data Processing (sahara)


O projeto Sahara provê uma maneira simples de gerenciar uma aplicação intensa em tratamento de dados clusterizados (Hadoop ou Spark), em cima da arquitetura OpenStack. O usuário deve informar parâmetros como versão, topologia do cluster, detalhes dos nós do hardware e mais para integrar com os sistemas mencionados, de maneira que o Sahara possa tornar o tratamento desses dados escalável e se ajustando on demand de acordo com a clusterização.

Detalhes Gerais

O produto sahara se comunica com os seguintes serviços OpenStack:

  • Dashboard (Horizon) - fornece uma interface gráfica com capacidade de usar todos os recursos do Saara
  • Identity (Keystone) - autentica os usuários e fornece tokens de segurança que são usados ​​para trabalhar com OpenStack, limitando capacidades de um usuário em sahara aos seus privilégios OpenStack
  • Compute (nova) - utilizado para fornecer VMs para clusters de processamento de dados
  • Orchestration (heat) - utilizado para fornecer e orquestrar a implantação de clusters de processamento de dados
  • Imagem (glance) - armazena imagens de VM, cada imagem que contenha um sistema operacional e uma distribuição de processamento de dados pré-instalado ou quadro
  • Object Storage (swift) - pode ser utilizado como armazenamento para os binários de emprego e dados que serão processados ​​ou criados por trabalhos de enquadramento
  • Block Storage (cinder) - pode ser usado para armazenamento em bloco provisão para instâncias VM
  • Networking (neutron) - fornece serviços de rede para clusters de processamento de dados
  • Telemetria (ceilometer) - usado para coletar medidas de uso de cluster para fins de medição e monitoramento

Arquitetura


A arquitetura Sahara consiste em vários componentes:

  • Componente Auth - responsável pela autenticação e autorização do cliente, se comunica com o serviço OpenStack Identity (Keystone)
  • DAL - Data Access Layer persistir modelos internos no BD
  • Provisioning Engine - componente responsável pela comunicação com o OpenStack Compute (nova), Orchestration (heat), Block Storage (cinder) e serviços de imagem (glance)
  • Vendor Plugins - mecanismo responsável pela configuração e lançamento de estruturas de processamento de dados em VMs provisionados. Soluções de gerenciamento existentes, como o Apache Ambari e Console de Gerenciamento de Cloudera poderia ser utilizado para esse fim também
  • EDP - Processamento de Dados Elastico (EDP), responsável pela programação e gerenciamento de tarefas de processamento de dados em clusters provisionados por sahara
  • API REST - expõe a funcionalidade sahara via interface REST HTTP
  • Python Sahara Client - como outros componentes OpenStack, sahara tem seu próprio cliente python
  • Páginas Sahara - uma interface gráfica para o Sara está localizado no OpenStack Dashboard (horizon)