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:
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.
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 inputhttps://repo.tecnisys.com.br/yum/tdp/ambari/2.2.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
- Instruções
- Vídeo
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.2.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.2.0/el-9-x86_64/ambari-tdp-installer-el-9.sh --baseurl "file:///opt/repo/tdp/ambari/2.2.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.2.0/el-9-x86_64/ambari-tdp-installer-el-9.sh --baseurl "https://192.168.32.100/tdp/ambari/2.2.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.

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

Para instalar o tdpctl, siga as orientações disponíveis aqui.
Configurações
- Instruções
- Vídeo
Configuração do driver JDBC
Configure o driver JDBC a ser utilizado pelo Ambari Server para se conectar na base de metadados:
ambari-server setup --jdbc-db=postgres --jdbc-driver=postgresql-42.2.16.jar
O driver JDBC do PostgreSQL também está disponível no diretório public/ambari/3.0.0.0 do Repositório de Pacotes Tecnisys


Configuração do Ambari Server
Configure o Ambari Server:
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.

Inicialização do Ambari Server
Inicie o daemon do Ambari Server:
ambari-server start

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

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.
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.
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
-
Crie o usuário airflow:
Terminal inputsu -c 'createuser -s -d -l airflow' - postgres;
-
Defina a senha do usuário airflow:
Terminal inputsu -c "psql -U postgres -c \"alter user airflow with password 'airflow'\"" - postgres;
-
Crie a base de dados airflow:
Terminal inputsu -c 'createdb -O airflow airflow' - postgres;
Criação do Banco de Metadados do Apache Druid
-
Crie o usuário druid:
Terminal inputsu -c 'createuser -s -d -l druid' - postgres;
-
Defina a senha do usuário druid:
Terminal inputsu -c "psql -U postgres -c \"alter user druid with password 'druid'\"" - postgres;
-
Crie a base de dados druid:
Terminal inputsu -c 'createdb -O druid druid' - postgres;
Criação do Banco de Metadados do Apache Hive
-
Crie o usuário hive:
Terminal inputsu -c 'createuser -s -d -l hive' - postgres;
-
Defina a senha do usuário hive:
Terminal inputsu -c "psql -U postgres -c \"alter user hive with password 'hive'\"" - postgres;
-
Crie a base de dados hive:
Terminal inputsu -c 'createdb -O hive hive' - postgres;
Criação do Banco de Metadados do Apache Ranger
-
Crie o usuário ranger:
Terminal inputsu -c 'createuser -s -d -l ranger' - postgres;
-
Defina a senha do usuário ranger:
Terminal inputsu -c "psql -U postgres -c \"alter user ranger with password 'ranger'\"" - postgres;
-
Crie a base de dados ranger:
Terminal inputsu -c 'createdb -O ranger ranger' - postgres;
Criação do Banco de Metadados do Apache RangerKMS
-
Crie o usuário ranger:
Terminal inputsu -c 'createuser -s -d -l rangerkms' - postgres;
-
Defina a senha do usuário rangerkms:
Terminal inputsu -c "psql -U postgres -c \"alter user rangerkms with password 'rangerkms'\"" - postgres;
-
Crie a base de dados rangerkms:
Terminal inputsu -c 'createdb -O rangerkms rangerkms' - postgres;
Criação do Banco de Metadados do Apache Superset
-
Crie o usuário superset:
Terminal inputsu -c 'createuser -s -d -l superset' - postgres;
-
Defina a senha do usuário superset:
Terminal inputsu -c "psql -U postgres -c \"alter user superset with password 'superset'\"" - postgres;
-
Crie a base de dados superset:
Terminal inputsu -c 'createdb -O superset superset' - postgres;
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.
Verifique, e se necessário altere, a versão majoritária do PostgreSQL presente nos caminhos dos ficheiros de configuração.
-
Adicione os demais bancos de dados à regra de acesso do Ambari :
Terminal inputsed -i 's/ambari,mapred/airflow,ambari,druid,hive,mapred,oozie,ranger,superset/g' /var/lib/pgsql/14/data/pg_hba.conf
-
Configure a instância PostgreSQL para receber conexões de todas as interfaces de rede:
Terminal inputsed -i "s/#listen_addresses = 'localhost'/listen_addresses = '*'/g" /var/lib/pgsql/14/data/postgresql.conf
-
Incremente o número máximo de conexões suportadas pela instância PostgreSQL:
Terminal inputsed -i "s/max_connections = 100/max_connections = 500/g" /var/lib/pgsql/14/data/postgresql.conf
-
Reinicie o serviço do PostgreSQL para que todas as alterações sejam efetivadas:
Terminal inputsystemctl restart postgresql-14
Figura 8 - Configuração dos MetadadoswarningAvalie 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
-
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. ↩