O que é o IBM Analytics Engine?

O IBM Analytics Engine oferece um modelo flexível para o desenvolvimento e a implementação de aplicativos de análise no Hadoop e no Spark. Permite que você realize spin-up nos clusters do Hadoop e do Spark e os gerencie por meio de seu ciclo de vida.

Qual a diferença entre ele e um cluster do Hadoop normal?

O IBM Analytics Engine tem como base uma arquitetura que separa a computação e o armazenamento. Na arquitetura tradicional do Hadoop, um cluster era usado para armazenar dados e executar o aplicativo. No IAE, dividimos essas duas funções: os clusters são usados somente para executar os aplicativos durante a utilização do IBM Cloud Object Storage para dados persistentes. As vantagens de tal arquitetura incluem flexibilidade, operações simplificadas, melhor confiabilidade e efetividade de custo. Veja esse artigo para saber mais.

Como faço para começar a usar o IBM Analytics Engine?

O IAE está disponível no IBM Cloud. Clique nesse link para saber mais sobre o serviço e para começar a usá-lo. Também temos tutoriais e amostras de código para ajudá-lo a começar rapidamente.

Qual distribuição é usada no IBM Analytics Engine (IAE)?

O IBM Analytics Engine é baseado no Hortonworks Data Platform (HDP) de software livre. Para encontrar a versão atualmente suportada, consulte essa página.

Quais componentes do HDP são suportados no IAE?

Para ver a lista completa de componentes e versões suportados, consulte essa página.

Qual é o tamanho dos nós disponíveis no IBM Analytics Engine?

Para ver os tamanhos de nó suportados atualmente, consulte essa página.

Por que há tão pouco espaço de HDFS nos clusters? Como fazer para executar um cluster com muitos dados a serem processados de uma só vez?

Os clusters no IAE devem ser usados como clusters de cálculo em vez de clusters de armazenamento persistente para dados. Os dados devem ser persistidos no IBM Cloud Object Storage. Isso proporciona uma maneira mais flexível, confiável e econômica de desenvolver aplicativos de análise. Veja esse artigo (PDF, 287 KB) para saber mais sobre esse assunto. O HDFS deve ser usado para armazenamento intermediário durante o processamento. Quaisquer dados finais (ou mesmo dados intermediários) devem ser gravados no Object Storage antes da exclusão do cluster. Se os seus requisitos de armazenamento intermediário excederem o HDFS disponível em um nó, será possível incluir mais nós no cluster.

Em quantos clusters do IAE é possível realizar o spin-up?

Não há limite para o número de spin-ups em clusters.

Há uma camada de uso grátis para experimentar o IBM Analytics Engine?

Sim, oferecemos o plano Lite, que pode ser usado gratuitamente. Além disso, como um novo usuário do IBM Cloud, você também tem direito a US$ 200 em crédito, que podem ser usados com relação ao IAE ou a qualquer serviço no IBM Cloud.

Como o plano Lite funciona?

O plano Lite oferece 50 horas/nó de uso gratuito do IAE. Um cluster pode ser provisionado a cada 30 dias. Ao esgotar as 50 horas/nó, será possível fazer upgrade para um plano pago dentro de 24 horas para continuar usando o mesmo cluster. Não realizar o upgrade dentro de 24 horas exclui o cluster, sendo possível provisionar um novo após um limite de 30 dias. Dependendo do tamanho de seu cluster, as horas reais de uso podem variar. Por exemplo, um nó principal e três nós de dados, ou seja, 4 nós totais, serão executados por 12,5 horas contadas (50 horas/4 nós). No entanto, um nó principal e um nó de dados, ou seja, 2 nós totais, serão executados por 25 horas no clock (50 horas/2 nós). Dentro de uma instância, não é possível pausar horas/nó, por exemplo, não é possível utilizar 10 horas/nó, pausar e voltar para utilizar as 40 horas/nó restantes.

O IBM Cloud Object Storage está incluído no IBM Analytics Engine?

Não, o IBM Cloud Object Storage não está incluído. Ele é uma oferta distinta. É possível saber mais sobre esse assunto no Catálogo do IBM Cloud ou aqui.

Como o Object Storage funciona no ambiente do IAE Hadoop? Ele é exatamente equivalente ao HDFS, mas nós apenas usamos uma URL diferente?

O IBM Cloud Object Storage implementa a maior parte da interface do Hadoop FileSystem. Para operações simples de leitura e gravação, os aplicativos que usam a API do Hadoop FileSystem continuarão a funcionar quando o HDFS for substituído pelo Cloud Object Storage. Ambas são opções de armazenamento de alto desempenho totalmente suportadas pelo Hadoop.

Quais outros componentes, como o Object Storage, devem ser considerados ao desenvolver uma solução usando o IBM Analytics Engine?

Além do Object Storage, considere usar o Compose MySQL, disponível no IBM Cloud, para persistir os metadados do Hive. Ao excluir um cluster, todos os dados e metadados são perdidos. Persistir os metadados do Hive em um armazenamento relacional externo, como o Compose, permitirá reutilizá-los mesmo após a exclusão de seu cluster ou acessá-los a partir de diversos clusters. O IAE fornece suporte para a transmissão do local dos metadados por meio dos scripts de customização ao iniciar um cluster. Portanto, é possível ter o cluster apontando para o local correto dos metadados assim que o spin-up for realizado.

Como devo dimensionar meu cluster?

O dimensionamento de um cluster é altamente dependente das cargas de trabalho. Aqui estão algumas diretrizes gerais: Para as cargas de trabalho do Spark que leem dados do armazenamento de objetos, a RAM no cluster deve ter pelo menos 50% do tamanho dos dados a serem analisados em qualquer tarefa especificada. Para obter melhores resultados, o dimensionamento recomendado para as cargas de trabalho do Spark que leem dados do armazenamento de objetos é ter uma RAM duas vezes maior que o tamanho dos dados a serem analisados em qualquer tarefa especificada. Se você prevê o uso de muitos dados intermediários, será preciso dimensionar o número de nós para fornecer a quantidade correta de espaço de HDFS no cluster.

Dimensionamos para 4 ambientes: Produção (com HA), DR, Preparação (com HA), Desenvolvimento. Como desenvolvemos isso no IAE?

Cada um deles será um cluster distinto. Se possuir diversos desenvolvedores em sua equipe, considere um cluster distinto para cada um deles, caso eles não possam compartilhar as mesmas credenciais de cluster. Geralmente, um cluster com um nó principal e dois nós de computação é suficiente para o desenvolvimento. Na Preparação, recomendamos três nós de computação para testar a funcionalidade. Isso fornece o teste de alguns recursos adicionais em uma escala um pouco maior antes da implementação na produção. Os clusters DR – DR são geralmente implementados em um modelo ativo/ativo ou ativo/em espera. No IAE, não é necessário possuir um cluster em execução o tempo todo. Se o cluster de produção ficar inativo, será possível realizar o spin-up de um novo cluster usando a cadeia de ferramentas de DevOps e o canbe designado como cluster de produção. Deve-se usar os scripts de customização para configurá-lo exatamente como o cluster anterior.

Como o gerenciamento de usuários é realizado no IAE? Como incluo mais usuários em meu cluster?

Todos os clusters no IAE são de usuário único, ou seja, cada cluster possui apenas um ID de usuário do Hadoop com o qual todas as tarefas serão executadas. A autenticação de usuários e o controle de acesso ocorrem por meio do serviço Identity and Access Management (IAM) do IBM Cloud. Após o login de um usuário no IBM Cloud, o acesso ao IAE será permitido ou bloqueado com base nas permissões do IAM configuradas pelo administrador. Um usuário pode compartilhar o ID de usuário e a senha de seu cluster se desejar que outros usuários o acessem; observe que, nesse caso, o outro usuário terá acesso total ao cluster.

O compartilhamento de um cluster por meio de um projeto do Watson Studio é uma abordagem recomendada. Nesse caso, um administrador configura o cluster por meio do portal do IBM Cloud e o 'associa' a um projeto no Watson Studio. Assim que isso for realizado, quaisquer usuários que tenham recebido acesso a esse projeto poderão enviar tarefas através de notebooks ou de outras ferramentas que requerem um tempo de execução do Hadoop ou do Spark. Uma vantagem dessa abordagem é que o controle de acesso ao cluster do IAE ou a quaisquer dados a serem analisados pode ser controlado no Watson Studio ou ainda no Watson Knowledge Catalog.

Como o controle de acesso a dados é aplicado no IAE?

O controle de acesso a dados pode ser gerenciado por meio de ACLs (listas de controle de acesso) do IBM Cloud Object Storage. As ACLs no IBM Cloud Object Storage estão vinculadas ao serviço Identity and Access Management do IBM Cloud. Um administrador pode configurar permissões em um depósito de armazenamento de objetos ou em arquivos. Quando essas permissões forem configuradas, ao acessar dados por meio do IAE, as credenciais de armazenamento de objetos serão usadas para determinar se o usuário possui acesso a um objeto de dados específico ou não.

Além disso, todos os dados no armazenamento de objetos podem ser catalogados usando o Watson Knowledge Catalog. Quando os dados estiverem no catálogo de dados, as políticas de controle podem ser definidas e aplicadas usando o Watson Knowledge Catalog. Os projetos do Watson Studio podem ser usados para melhorar o gerenciamento do controle de acesso.

Posso executar um cluster ou uma tarefa de longa execução?

Sim, é possível executar um cluster, desde que seja necessário. Nesse cenário, certifique-se de que os dados sejam gravados periodicamente de volta no IBM Cloud Object Storage e não use o HDFS como armazenamento persistente. Isso o protegerá contra a perda de dados em caso de falhas acidentais no cluster.

Quanto tempo leva para que o cluster seja inicializado?

Ao usar o pacote de software do Spark, um cluster leva cerca de 7 a 9 minutos para ser inicializado e estar pronto para executar aplicativos. Ao usar o pacote de software do Hadoop e do Spark, um cluster leva cerca de 15 a 20 minutos para ser iniciado e estar pronto para executar aplicativos.

Como posso acessar ou interagir com o meu cluster?

Há diversas interfaces para acessar o cluster:

  • SSH
  • O console do Ambari
  • As APIs de REST
  • A CLI do Cloud Foundry

Como inserir dados no cluster?

A maneira recomendada de inserir dados de leitura em um cluster para o processamento é a partir do IBM Cloud Object Storage. Faça o upload de seus dados no IBM COS e use as APIs do COS, do Hadoop ou do Spark para ler dados a partir dele. Se seu caso de uso requerer que os dados sejam processados diretamente no cluster, é possível usar uma das maneiras a seguir para a ingestão de dados: SFTP, WebHDFS, Spark, transmissão do Spark e Sqoop. Veja a documentação a respeito desse assunto para obter mais informações.

Como configuro meu cluster?

Um cluster pode ser configurado usando os scripts de customização ou modificando diretamente os parâmetros de configuração no console do Ambari. Os scripts de customização são uma maneira conveniente de definir conjuntos de configurações diferentes por meio de um script, para realizar o spin-up de diferentes tipos de clusters ou para usar a mesma configuração repetidamente para tarefas repetitivas. É possível obter informações adicionais sobre a customização aqui.

O acesso raiz é permitido no IAE?

Não, o usuário não possui sudo ou raiz para instalar privilégios, pois ele é um ambiente PaaS definido.

Como faço para instalar meus próprios componentes da solução Hadoop?

Como o IAE é um serviço PaaS definido, não permitimos a inclusão de componentes que não suportamos. Os usuários não possuem a capacidade de instalar um novo componente da solução Ambari Hadoop por meio do Ambari ou de outra maneira. Os componentes de ecossistema que não são do servidor do Hadoop podem ser instalados, ou seja, qualquer item que possa ser instalado e executado no espaço do usuário é permitido.

Quais tipos de pacotes de terceiros são permitidos?

Os pacotes disponíveis no repositório do CentOS podem ser instalados utilizando a ferramenta packageadmin, disponível no IAE. Bibliotecas ou pacotes (por exemplo, para Python ou R) que podem ser instalados e executados dentro do espaço do usuário são permitidos. O usuário não possui privilégios sudo ou raiz para instalar ou executar quaisquer pacotes de repositórios ou rpms que não sejam do CentOS. É altamente recomendável que toda a customização seja executada usando scripts de customização na inicialização do cluster, para garantir a repetibilidade e a consistência para futuras criações de clusters.

Como o cluster pode ser monitorado? Como configurar alertas?

Os componentes do Ambari podem ser monitorados usando os alertas integrados de Métricas do Ambari (no pacote 'Hadoop e Spark'). As métricas prontas para uso no Ambari podem ser configuradas para receber alertas.

Como ajusto a escala do meu cluster?

A escala do cluster pode ser ajustada ao incluir nós nele. Os nós podem ser incluídos por meio da IU do IBM Cloud ou por meio da ferramenta da CLI.

Posso ajustar a escala do meu cluster durante a execução de tarefas?

Sim, a escala dos clusters pode ser ajustada ao incluir nós nele quando tarefas estiverem em execução. Quando os novos nós estiverem prontos, serão usados para executar etapas adicionais da tarefa.

O que as operações do IBM Cloud monitoram e gerenciam no meu cluster?

A equipe de operações do IBM Cloud garante que o serviço permaneça ativo para que os usuários realizem spin-up nos clusters, enviem tarefas e gerenciem o ciclo de vida de clusters por meio das interfaces fornecidas. Os usuários podem monitorar e gerenciar seus clusters usando as ferramentas disponíveis no Ambari ou serviços adicionais do IBM Cloud.

Qual o tipo de criptografia suportado?

A criptografia transparente de dados do Hadoop está ativada automaticamente para o cluster. O cluster é fornecido com uma zona de criptografia HDFS predefinida, identificada pelo caminho HDFS /securedir. Os arquivos colocados na zona de criptografia são criptografados automaticamente. Os arquivos são automaticamente decriptografados quando são acessados por meio de diversos aplicativos cliente do Hadoop, como comandos shell HDFS, APIs do WebHDFS e o navegador de arquivos do Ambari. Mais informações estão disponíveis na documentação. Todos os dados no Cloud Object Storage são criptografados quando estão inativos. A transferência de dados entre o Cloud Object Storage e os clusters do IAE pode ser realizada por meio de um terminal privado e criptografado que está disponível no Cloud Object Storage. Quaisquer dados transmitidos pelas portas voltadas ao público (8443, 22 e 9443) são criptografados.

Quais portas são abertas na interface pública no cluster?

As portas abertas na interface pública no cluster são: 8443-Knox; 22-SSH e 9443-Ambari.

Quais outros serviços do IBM Cloud posso usar com o IBM Analytics Engine?

Como parte do IBM Cloud, o IBM Analytics Engine integra-se a ofertas importantes (como o IBM Watson Studio) para enviar tarefas por push para o IBM Analytics Engine; os dados podem ser gravados no Cloudant ou no Db2 Warehouse on Cloud depois de serem processados usando o Spark.

Como o IAE se integrará ao Watson Studio? Ambos operam no Object Store subjacente ou o Watson Studio é executado no Analytics Engine?

O IBM Analytics Engine é um cidadão de primeira classe no Watson Studio. Os projetos (ou notebooks individuais) no Watson Studio podem ser associados ao IBM Analytics Engine por meio de uma IU simples. Depois de executar um cluster do IAE no IBM Cloud, efetue login no Watson Studio usando o mesmo ID do IBM Cloud, acesse a página Configurações do Projeto e 'associe' essa instância do IAE a um projeto ou notebook no IAE. Mais detalhes e um tutorial sobre esse assunto estão disponíveis aqui.

Depois de associado, o projeto ou o notebook do Watson Studio executa qualquer carga de trabalho nessa instância específica do IAE. Não há nenhum acoplamento rígido a qualquer instância de armazenamento de objetos. Seja qual for a instância de armazenamento de objetos sendo referida de dentro de um notebook ou aplicativo, ela será lida durante a execução de aplicativos no IAE. Um método fácil de uso de uma instância de armazenamento de objetos específica é o recurso "insert to code" nos notebooks do Watson Studio.

O cliente precisa usar o Kafka para a ingestão. Como podemos lidar com isso?

O MessageHub, um serviço do IBM Cloud, é baseado no Apache Kafka. Ele pode ser usado para inserir dados no armazenamento de objetos, que podem ser analisados com os clusters do Analytics Engine. O MessageHub também pode se integrar ao Spark no cluster do IAE para fornecer dados diretamente para o cluster.

É possível configurar propriedades ACID para o Hive no IAE?

O Hive não está configurado para suportar a simultaneidade. Porém, os usuários podem mudar a configuração nos clusters do IBM AE. No entanto, o funcionamento correto do cluster após a realização das mudanças é responsabilidade dos usuários.