Oracle Cloud: Introdução ao Oracle Big Data Cloud (Parte III) – Ambari

Por Gokhan Atil , Joel Pérez& Evandro Giachetto
Publicado em Decembro 2017

Outros artigos nesta série:

Essa é a terceira publicação sobre Oracle Big Data Cloud. Dando continuidade à apresentação do “Big Data Cloud” e seus componentes, nesta publicação apresentaremos o Ambari - o serviço de gerenciamento do nosso cluster hadoop.

O Apache Ambari simplifica o provisionamento, gerenciamento e monitoramento dos clusters Hadoop. É a ferramenta de gerenciamento padrão do Hortonworks Data Platform, mas pode ser utilizada de forma independente. Após criar o serviço big data, a porta SSH e 8080 (porta utilizada pelo Ambari) são bloqueadas. É preciso habilitar as regras que permitem acesso através dessas portas. Em nossa primeira postagem sobre o Oracle Big Data Cloud mostramos como habilitar essas portas.

O Ambari possui uma arquitetura cliente-servidor. Os agentes do Ambari rodam em cada nó do cluster hadoop e há um servidor Ambari para gerenciar esses agentes e coletar dados a partir deles. No Oracle Big Data Cloud, cada nó (criamos 3 para testes) tem o software ambari-server mas apenas o primeiro ambari-server (que está no primeiro nó) está configurado e ativo. Na página de visão geral do serviço, podemos verificar o endereço IP do servidor ambari.

O endereço IP do meu primeiro nó é 141.144.22.114, então a URL do servidor Ambari é https://141.144.22.114:8080. Se já estivermos conectados ao “Big Data Console”, a página do ambari não pede nenhuma credencial, mas se não estivermos conectados precisamos informar “bdcsce_admin” como username e a senha do usuário administrador (definida durante a criação do serviço).

Depois de acessar à interface web do Ambari, um painel administrativo detalhado nos é apresentado. Nesta página podemos ver gráficos de performance, alertas (warnings + criticals) e serviços existentes (no lado esquerdo).

Nós utilizaremos o menu do topo para acessar os componentes do Ambari. À esquerda, vemos o logotipo e o texto "ambari", quando clicamos nele somos direcionados ao painel de controle atual. À direta do logotipo do ambari, vemos o nome de nosso cluster (bilyonveri) e “0 ops 2 alerts”. Quando clicamos sobre o texto “0 ops” podemos ver as operações de segundo plano (background) em execução (tais como “starting/stopping services”). Como não há operações sendo executadas neste momento vemos o indicador “0”. Quando clicamos sobre “2 alerts” podemos ver os detalhes dos alertas atuais.

No lado superior direito, vemos os links: “Dashboard” (painel de controle), “Services” (serviços - também exibida no painel à esquerda), “Hosts” (para verificarmos os hosts em nosso cluster), “Alerts” (para gerenciar as configurações e exibir os alertas atuais), “Admin” (para visualizar versões de software, contas de serviços, configurações do kerberos, etc), “Views” (ícone em forma de matriz) e o menu de usuário. Podemos acessar à página de gerenciamento do ambari (“ambari management page”) a partir do menu de usuário, clicando sobre a opção “manage ambari”.

Cada serviço tem sua própria home page. Podemos acessar à home page do serviço a partir do painel esquerdo ou através do menu de serviços, no topo. Na home page do serviço, podemos parar/iniciar um serviço, habilitar/desabilitar o estado de manutenção, mover os componentes do serviço entre os diferentes nós, rodar verificações do serviço e excluir o serviço (após tê-lo parado). Também podemos editar as configurações dos serviços através do link “configs”.

Uma das primeiras coisas que notei após acessar à interface web do ambari foi: não há views disponíveis. Em condições normais, deveriam haver views para acessar ao Hive, Tez, Pig, Files e outros serviços. Eu não sei por qual motivo a Oracle não as inclui. Talvez hajam alguns problemas de compatibilidade, no entanto, eu gostaria de mostrar como podemos adicionar uma delas: A view “Hive” - para que então possamos executar comandos do Hive através da interface web do Ambari.

As views Ambari são aplicativos java e não é difícil pegarmos seus códigos-fonte através do github, mas é um pouco complexa a compilação para quem não utiliza java (como eu). Então, em vez de lidarmos com código-fonte, faremos o download dos RPMs para o Ambari a partir do hortonworks, extrairemos o arquivo jar do rpm e então colocaremos esse arquivo em uma pasta especial – O Ambari verifica essa pasta especial constantemente e carrega a view.

Na nossa primeira publicação, dissemos que a Oracle utiliza o Hortonworks DP 2.4.2. Essa informação pode ser encontrada através do menu “Admin”, na página “versions”. Agora que conhecemos a versão, podemos ir até os documentos de instalação do hortonworks e pegar a URL do repositório do hortonworks para Oracle Linux 6. Observe que o “Oracle Big Data Cloud” é executado no Oracle Linux 6.8.

Precisamos nos conectar ao primeiro nó (que hospeda o servicor ambari) via SSH, trocar para o usuário root, “baixar” as configurações do repositório ambari, e utilizá-lo para realizar o download do RPM de instalação do ambari server. Abaixo segue tutorial para instalação:



  sudo su -      
  >wget -nv  http://public-repo-1.hortonworks.com/ambari/centos6/2.x/updates/2.4.2.0/ambari.repo 
  -O /etc/yum.repos.d/ambari.repo  
  
  yum repolist
  
  

Após a execução do comando acima, o yum irá checar os repositórios e atualizar a lista de pacotes disponíveis. Como não queremos tocar na instalação atual, iremos utilizar a ferramenta “yumdownloader” para baixar o RPM.

yumdownloader ambari-server –destdir=/root

Após a execução do comando acima, o arquivo “ambari-server-2.4.2.0-136.x86_64.rpm” será baixado para a pasta /root. Eu recomendo remover o repositório ambari quando estiver concluído para prevenir qualquer confusão quando da aplicação de possíveis patches de atualização do sistema.

rm /etc/yum.repos.d/ambari.repo yum repolist

Navegamos até o diretório “/root” e extraímos o conteúdo do RPM, então navegamos até o diretório “views”.




 rpm2cpio  ambari-server-2.4.2.0-136.x86_64.rpm | cpio -idmv

  cd var/lib/ambari-server/resources/views/
  ls -lash
  total 568M
  4.0K drwxr-xr-x  2 root root 4.0K Jun 15 07:33 .
  4.0K drwxr-xr-x 11 root root 4.0K Jun 15  07:33 ..
  900K -rwxrwxrwx  1 root root 897K Nov 23  2016 ambari-admin-2.4.2.0.136.jar
  44M -rwxrwxrwx  1 root root   44M Nov 23  2016 capacity-scheduler-2.4.2.0.136.jar
  40M -rwxrwxrwx  1 root root   40M Nov 23  2016  files-2.4.2.0.136.jar
  2.4M -rwxrwxrwx  1 root root 2.4M Nov 23  2016 hawq-view-2.4.2.0.136.jar
  95M -rwxrwxrwx  1 root root   95M Nov 23  2016  hive-2.4.2.0.136.jar
  121M -rwxrwxrwx  1 root root 121M Nov 23  2016 hive-jdbc-2.4.2.0.136.jar
  34M -rwxrwxrwx  1 root root   34M Nov 23  2016  hueambarimigration-2.4.2.0.136.jar
  45M -rwxrwxrwx  1 root root   45M Nov 23  2016  pig-2.4.2.0.136.jar
  51M -rwxrwxrwx  1 root root   51M Nov 23  2016 slider-2.4.2.0.136.jar
  1.2M -rwxrwxrwx  1 root root 1.2M Nov 23  2016 storm-view-2.4.2.0.136.jar
  48M -rwxrwxrwx  1 root root   48M Nov 23  2016  tez-view-2.4.2.0.136.jar
  47M -rwxrwxrwx  1 root root   47M Nov 23  2016  wfmanager-2.4.2.0.136.jar
  44M -rwxrwxrwx  1 root root   44M Nov 23  2016  zeppelin-view-2.4.2.0.136.jar


Copiamos o arquivo hive-jdbc-2.4.2.0.136.jar para o diretório “/var/lib/ambari-server/resources/views/”. O ambari checará o conteúdo deste diretório automaticamente e carregará o arquivo jar.

Após copiarmos o arquivo, a “View Hive” será automaticamente criada e adicionada à interface web do Ambari. Talvez seja necessário atualizar a página para que possa vê-la. Quando clicamos em “Hive View”, obtemos o erro “Service ‘userhome’ check failed: User: root is not allowed to impersonate bdcsce_admin”. O Ambari é executado pelo usuário root e nós nos conectamos como “bdcsce_admin”, então o ambari tenta acessar ao diretório home do usuário bdcsce_admin (HDFS) utilizando o usuário root. Se você é um usuário linux, provavelmente você dirá “o root pode acessar qualquer diretório”, porém, para o HDFS, o “rei” é o usuário “hdfs”. Portanto, temos que configurar o hdfs e dizer que o “root” pode utilizar qualquer usuário (ou bdcsce_admin).

Vamos até a página “configs” do HDFS e pesquisamos pelo parâmetro “hadoop.proxyuser.root.users”. Veremos que hadoop.proxyuser.root.users está setado como “oracle”. Precisamos inserir “*” (asterisco) para permitir que o usuário root acesse todos os arquivos de usuários. Após modificar a configuração, clicamos no botão “SAVE”.

Você verá que os serviços HDFS precisam ser reiniciados para poderem aplicar as alterações de configuração. Também é preciso reiniciar outros serviços que dependem do serviço HDFS. Para reiniciar todos esses serviços juntos, clique no botão “restart all required” no menu “actions” no painel esquerdo.

Esperamos até que os serviços sejam reiniciados, e então clicamos novamente em “Hive View”. Após a modificação devemos ser capazes de acessar à view Hive com o usuário bdcsce_admin. Você pode adicionar outras views mas talvez seja necessário solucionar alguns erros. Na minha opinião, administradores big data devem estar familiarizados com todos esses processos de solução de problemas, então, acostume-se a isso.

Na próxima publicação, vamos falar sobre o Zeppelin.

Nos esperamos que este artigo tenha sido útil e te convidamos a ler nossas próximas publicações com o foco em Oracle Cloud.

Outros artigos nesta série:

E não se esqueça de nos seguir no LinkedIn:

Gokhan Atil 's LinkedIn: https://www.linkedin.com/in/gokhanatil/

Joel Perez’s LinkedIn ( +7.5k Contacts ): www.linkedin.com/in/SirDBaaSJoelPerez

Evandro Giachetto’s LinkedIn:  https://www.linkedin.com/in/evandrogiachetto/

Join Our LinkedIn Group:  Oracle Cloud DBaaS

Até a próxima!

Gokhan Atil é um Administrador de Banco de Dados Senior comexperiênciaprática em Oracle, PostgreSQL, Microsoft SQL Server, MySQL e bancos de dados NoSQL. Ele é um Oracle Certified Professional (OCP) em EBS R12, Oracle 10g e 11g. Ele também é especialista em Oracle Enterprise Manager. Gokhan é membro fundador e vice presidente do Turkish Oracle UserGroup (TROUG). Elejápalestrou em váriasconferênciasinternacionaisincluindo o Oracle Open World. Ele é co-autor do livro "Expert Oracle Enterprise Manager 12c" e possuium blog relacionado a Oracle desde 2008: www.gokhanatil.com. Gokhanrecebeu o título de Oracle ACE em 2011 e Oracle ACE Director em 2016 por suacontribuições positivas à comunidade Oracle.

Joel Pérez é um DBA (Oracle ACE Director, Maximum Availability OCM, OCM Cloud Admin. & OCM12c/11g) Especialista com mais de 17 anos de experiência real no mundo da tecnologia Oracle, especializada na concepção e implementação de soluções: Nuvem, alta disponibilida de, recuperação de desastres, Upgrades, replicação e toda a área relacionada com bancos de dados Oracle. Joel serve como "Senior Database Cloud Architect" para en.Enmotech.com Yunhe ENMO (Beijing) Technology Co. Ltd. Beijing, China.

Conectar com Joel: Conecte-se com Joel’s Linkedin para ser atualizado com as informações mais notáveis relacionadas ao Oracle Cloud: www.linkedin.com/in/SirDBaaSJoelPerez & Joel Pérez’s Blog: https://community.oracle.com/blogs/Sir.DBaaSJoelPerez

Evandro Giachetto é um DBA Oracle com 12+ anos de experiência em tecnologia Oracle, graduado em Tecnologia da Informação e construiu a base de sua carreira atuando em projetos internacionais como Sprint, BT e Ericsson. É especialista em tecnologias de Alta Disponibilidade, possui uma paixão quase incontrolável por performance SQL, apoiada pelos anos de experiência como Desenvolvedor PL/SQL, e compartilha dessa paixão através do blog  dbaoracle.eti.br

Oracle Database Certified SQL Expert e Oracle Database Administrator Certified Associate.