Saltar para o conteúdo principal
Version: Versão: 2.3.0

Instalação do Apache Ambari

Estando os requisitos mínimos atendidos, todas as máquinas do ambiente preparadas e os pacotes de instalação disponíveis, seguimos para a instalação do serviço do Apache Ambari.

Após instalado, o Apache Ambari será responsável pela criação do Cluster de Big Data, seja através de sua página web ou via REST API.

Instalação via script

Execute o comando abaixo para instalar, via script de instalação, o Ambari Server numa máquina utility ou edge 1:

Terminal input
    sh ambari-tdp-installer-el-9.sh -b URL_BASE_PARA_OS_PACOTES_DOS_COMPONENTES -u USUARIO -p SENHA;

Os parâmetros USUÁRIO (-u) e SENHA (-p) são opcionais e só devem ser informados quando o repositório de pacotes requisitar credenciais de acesso, como é o caso do Repositório Público de Pacotes da Tecnisys.

note

Seguem as opções disponíveis do script de instalação ambari-tdp-installer-el-9.sh:

  • -b, --baseurl URL base para os pacotes dos componentes. Default:

    Terminal input
    https://repo.tecnisys.com.br/yum/tdp/ambari/2.3.0/el-9-x86_64
  • -u, --username
    Usuário para acesso ao repositório de pacotes.
    Deve ser informado ao se utilizar a URL do Repositório de Pacotes da Tecnisys.

  • -p, --password
    Senha para acesso ao repositório de pacotes.
    Deve ser informada ao se utilizar a URL do Repositório de Pacotes da Tecnisys.

  • -c, --component (agent | server | all)
    [ default: server ]
    Componente do Apache Ambari a ser instalado.

Cenários de Instalação do Ambari Server

A seguir, apresentamos exemplos para diferentes cenários:

  • Instalação usando o Repositório de Pacotes Públicos da Tecnisys:

    • Terminal input
      sh /repo/yum/tdp/installer/2.3.0/el-9-x86_64/ambari-tdp-installer-el-9.sh --username "user" --password "pass"

    As credenciais de acesso (username e password) são definidas ao se cadastrar gratuitamente no site tecnisysSite`.

  • Instalação usando um repositório de pacotes local:

    • Terminal input
      sh /repo/yum/tdp/installer/2.3.0/el-9-x86_64/ambari-tdp-installer-el-9.sh --baseurl "file:///opt/repo/tdp/ambari/2.3.0/el-9-x86_64"
  • Instalação usando um repositório de pacotes local na máquina de IP 192.168.32.100 e acessível via HTTP:

    • Terminal input
      /repo/yum/tdp/installer/2.3.0/el-9-x86_64/ambari-tdp-installer-el-9.sh --baseurl "https://192.168.32.100/tdp/ambari/2.3.0/el-9-x86_64"

Instalação via tdpctl

A instalação do Ambari Server também pode ser realizada através do tdpctl, a Interface de Linha de Comando do TDP:

  • Terminal input
    tdpctl install --help

As opções disponíveis, assim como as informações necessárias para a instalação do Ambari Server, são as mesmas solicitadas pelo script de instalação.

Figura 1 - Opções para o comando tdpctl install
Figura 1 - Opções para o comando tdpctl install

Note que é possível informar o componente pretendido através da opção -c ou --component (agent | server | all).

Figura 2 - Instalação do Ambari Server via tdpctl
Figura 2 - Instalação do Ambari Server via tdpctl

Para instalar o tdpctl, siga as orientações disponíveis aqui.

Configurações

Configuração do driver JDBC

Configure o driver JDBC a ser utilizado pelo Ambari Server para se conectar na base de metadados:

Terminal input
    ambari-server setup --jdbc-db=postgres --jdbc-driver=postgresql-42.2.16.jar 
tip

O driver JDBC do PostgreSQL também está disponível no diretório public/ambari/3.0.0.3 do Repositório de Pacotes Tecnisys

Figura 3 - Configuração do JDBC Server
Figura 3 - Configuração do JDBC Server
Figura 4 - Configuração do Ambari Server
Figura 4 - Configuração do Ambari Server

Configuração do Ambari Server

Configure o Ambari Server:

Terminal input
    ambari-server setup 

De seguida, forneça as informações solicitadas no prompt apresentado:

1- Se SELinux estiver ativo, será apresentado um alerta. Confirme se o SELinux pode ser alterado para o modo permissivo e temporariamente desativado. Default (y)

2- Confirme se deseja utilizar um usuário de SO customizado para o daemon do Ambari Server. Default (n)

(a)- Se sim (y), Indique o usuário desejado.

3- Se o Firewall (iptables) estiver ativo, será apresentado um alerta. Confirme se as portas utilizadas pelo Ambari estão acessíveis. Default (y)

(a)- Caso haja conflito de porta, será apresentado um erro e a configuração abortada.

4- Escolha a JDK a ser utilizada. Default (1) Oracle JDK 1.8 + Java Cryptography Extension (JCE) Policy Files 8 (baixados automaticamente do diretório public/tdp/2.0.0/rhel-7-x86_64 do Repositório Público de Pacotes da Tecnisys.

(a)- Se escolhida a opção (1), confirme se você aceita a licença de uso. Default (y)
(b)- Escolha a opção (2) para informar o caminho do JAVA_HOME de uma JDK diferente.

5- Confirme se deseja que o Ambari Server baixe e instale pacotes adicionais de compressão LZO. Default (n)

6- Confirme se deseja prosseguir com as Configurações Avançadas de Banco de Dados. Default (n)

(a)- Se não (n), automaticamente o Ambari inicializa uma instância do PostgreSQL (dependência de instalação do Ambari Server), cria o seu própria base de metadados, esquema, usuário, tabelas de metadados, etc.
(b)- Se sim (y), serão solicitadas informações de conexão aa base de dados, tais como, o Sistema Gerenciador de Banco de Dados (SGBD), hostname, porta e nome da base de dados do Ambari, para que o Ambari Server se conecte e crie automaticamente as suas tabelas de metadados entre outras estruturas.

Figure 4 - Configuração do Ambari Server
Figure 4 - Configuração do Ambari Server

Inicialização do Ambari Server

Inicie o daemon do Ambari Server:

Terminal input
    ambari-server start 
Figura  5 - Inicialização do Ambari Server
Figura 5 - Inicialização do Ambari Server

Após a inicialização do Ambari Server, a página web do Ambari estará, por padrão, acessível na porta 8080.

Figura 6 - Página de login do Ambari
Figura 6 - Página de login do Ambari
note

Se necessário, a porta da interface web do Ambari pode ser alterada no ficheiro /etc/ambari-server/conf/ambari.properties.

Criação dos Bancos de Metadados

Muitos dos serviços/componentes da Plataforma TDP necessitam de bancos de dados para a persistência de metadados.

A seguir, disponibilizamos orientações para a criação prévia desses bancos de dados no PostgreSQL (SGBD padrão do Ambari Server). Caso tenha escolhido um SGBD diferente para o seu ambiente, consulte a documentação oficial do mesmo.

warning

As senhas utilizadas nos comandos a seguir visam apenas exemplificar o procedimento apresentado. Por gentileza, utilize senhas fortes em seu ambiente. Além disso, os nomes dos usuários e bancos de dados são apenas sugestões, fique à vontade para alterá-los.

caution

Atenção para a collation (configurações de locale e encoding, por exemplo: en_US.UTF-8 e pt_BR.UTF-8) dos bancos de metadados. Alguns componentes podem não funcionar corretamente ou apresentar problemas na exibição, comparação e ordenação de dados e informações se a collation não estiver configurada corretamente.

Criação do Banco de Metadados do Apache Airflow

  1. Crie o usuário airflow:

    Terminal input
    su -c 'createuser -s -d -l airflow' - postgres; 
  2. Defina a senha do usuário airflow:

    Terminal input
    su -c "psql -U postgres -c \"alter user airflow with password 'airflow'\"" - postgres; 
  3. Crie a base de dados airflow:

    Terminal input
    su -c 'createdb -O airflow airflow' - postgres; 

Criação do Banco de Metadados do Apache Druid

  1. Crie o usuário druid:

    Terminal input
    su -c 'createuser -s -d -l druid' - postgres; 
  2. Defina a senha do usuário druid:

    Terminal input
    su -c "psql -U postgres -c \"alter user druid with password 'druid'\"" - postgres; 
  3. Crie a base de dados druid:

    Terminal input
    su -c 'createdb -O druid druid' - postgres; 

Criação do Banco de Metadados do Apache Hive

  1. Crie o usuário hive:

    Terminal input
    su -c 'createuser -s -d -l hive' - postgres; 
  2. Defina a senha do usuário hive:

    Terminal input
    su -c "psql -U postgres -c \"alter user hive with password 'hive'\"" - postgres; 
  3. Crie a base de dados hive:

    Terminal input
    su -c 'createdb -O hive hive' - postgres; 

Criação do Banco de Metadados do Apache Ranger

  1. Crie o usuário ranger:

    Terminal input
    su -c 'createuser -s -d -l ranger' - postgres; 
  2. Defina a senha do usuário ranger:

    Terminal input
    su -c "psql -U postgres -c \"alter user ranger with password 'ranger'\"" - postgres; 
  3. Crie a base de dados ranger:

    Terminal input
    su -c 'createdb -O ranger ranger' - postgres; 

Criação do Banco de Metadados do Apache RangerKMS

  1. Crie o usuário ranger:

    Terminal input
    su -c 'createuser -s -d -l rangerkms' - postgres; 
  2. Defina a senha do usuário rangerkms:

    Terminal input
    su -c "psql -U postgres -c \"alter user rangerkms with password 'rangerkms'\"" - postgres; 
  3. Crie a base de dados rangerkms:

    Terminal input
    su -c 'createdb -O rangerkms rangerkms' - postgres; 

Criação do Banco de Metadados do Apache Superset

  1. Crie o usuário superset:

    Terminal input
    su -c 'createuser -s -d -l superset' - postgres; 
  2. Defina a senha do usuário superset:

    Terminal input
    su -c "psql -U postgres -c \"alter user superset with password 'superset'\"" - postgres; 
  3. Crie a base de dados superset:

    Terminal input
    su -c 'createdb -O superset superset' - postgres; 
    Figura 7 - Criação do metadados
    Figura 7 - Criação do metadados

Configuração da Instância dos Bancos de Metadados

A seguir, disponibilizamos orientações e exemplos de código para a configuração de regras de acesso e propriedades do PostgreSQL (SGBD padrão do Ambari Server). Caso tenha escolhido um SGBD diferente para o seu ambiente, consulte a documentação oficial do mesmo.

note

Verifique, e se necessário altere, a versão majoritária do PostgreSQL presente nos caminhos dos ficheiros de configuração.

  1. Adicione os demais bancos de dados à regra de acesso do Ambari :

    Terminal input
    sed -i 's/ambari,mapred/airflow,ambari,druid,hive,mapred,oozie,ranger,superset/g' /var/lib/pgsql/14/data/pg_hba.conf 
  2. Configure a instância PostgreSQL para receber conexões de todas as interfaces de rede:

    Terminal input
    sed -i "s/#listen_addresses = 'localhost'/listen_addresses = '*'/g" /var/lib/pgsql/14/data/postgresql.conf 
  3. Incremente o número máximo de conexões suportadas pela instância PostgreSQL:

    Terminal input
    sed -i "s/max_connections = 100/max_connections = 500/g" /var/lib/pgsql/14/data/postgresql.conf 
  4. Reinicie o serviço do PostgreSQL para que todas as alterações sejam efetivadas:

    Terminal input
        systemctl restart postgresql-14 
    Figura 8 - Configuração dos Metadados
    Figura 8 - Configuração dos Metadados
    warning

    Avalie os impactos de tais configurações na segurança e desempenho do seu ambiente. Caso necessite de apoio, Entre em contacto, será um prazer auxiliá-lo.

Footnotes

  1. Máquinas do tipo Utility são normalmente utilizadas para tarefas auxiliares, como o gerenciamento do cluster, enquanto máquinas do tipo Edge são dedicadas para interfaces gráficas ou componentes utilizados por usuários na "borda" do ambiente.