Instalação do Apache Ambari
Estando os requisítos 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 do Ambari Server
Execute o comando abaixo para instalar, via script de instalação, o Ambari Server em uma máquina do tipo 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 USUARIO (-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 https://repo.tecnisys.com.br.
Seguem as opções disponíveis do script de instalação ambari-tdp-installer-el-9.sh: -b, --baseurl -u, --username -p, --password -c, --component ( agent | server | all ) |
A seguir, apresentamos exemplos para diferentes cenários:
-
Instalação usando o Repositório de Pacotes Públicos da Tecnisys:
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 cadastar gratuitamente no site https://www.tecnisys.com.br
-
Instalação usando um repositório de pacotes local:
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 na máquina de IP 192.168.32.100 e acessível via HTTP:
sh /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"
Configuração do driver JDBC
Configure o driver JDBC a ser utilizado pelo Ambari Server para se conectar no banco 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 da Tecnisys. |
Configuração do Ambari Server
Configure o Ambari Server:
ambari-server setup
Na sequência, forneça as informações solicitadas no prompt apresentado:
-
Se SELinux estiver ativo, será apresentado um alerta. Confirme se o SELinux pode ser alterado para o modo permissivo e temporariamente desativado. Default (y)
-
Confirme se deseja utilizar um usuário de SO customizado para o daemon do Ambari Server. Default (n)
-
Se sim (y), informe o usuário desejado.
-
-
Se o Firewall (iptables) estiver ativo, será apresentado um alerta. Confirme se as portas utilizadas pelo Ambari estão acessíveis. Default (y)
-
Caso haja conflito de porta, será apresentado um erro e a configuração abortada.
-
-
Escolha a JDK a ser utilizada. Default (1) OpenJDK 1.8 + Java Cryptography Extension (JCE) Policy Files 8 (baixados automaticamente do diretório public/ambari/3.0.0.0 do Repositório de Pacotes da Tecnisys).
-
Se escolhida a opção (1), confirme se você aceita a licença de uso. Default (y)
-
Escolha a opção (2) para informar o caminho do JAVA_HOME de uma JDK diferente.
-
-
Confirme se deseja que o Ambari Server baixe e instale pacotes adicionais de compressão LZO. Default (n)
-
Confirme se deseja prosseguir com as Configurações Avançadas de Banco de Dados. Default (n)
-
Se não (n), automaticamente o Ambari inicializa uma instância o PostgreSQL (dependência de instalação do Ambari Server), cria o seu próprio banco de metadados, esquema, usuário, tabelas de metadados, etc.
-
Se sim (y), serão solicitadas informações de conexão ao banco de dados, tais como, o Sistema Gerenciador de Banco de Dados (SGBD), hostname, porta e nome do banco 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 arquivo /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, fornecemos 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 segir 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 a 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 ordençã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:
su -c 'createuser -s -d -l airflow' - postgres;
-
Defina a senha do usuário airflow
su -c "psql -U postgres -c \"alter user airflow with password 'airflow'\"" - postgres;
-
Crie o banco de dados airflow:
su -c 'createdb -O airflow airflow' - postgres;
Criação do Banco de Metadados do Apache Druid
-
Crie o usuário druid:
su -c 'createuser -s -d -l druid' - postgres;
-
Defina a senha do usuário druid
su -c "psql -U postgres -c \"alter user druid with password 'druid'\"" - postgres;
-
Crie o banco de dados druid:
su -c 'createdb -O druid druid' - postgres;
Criação do Banco de Metadados do Apache Hive
-
Crie o usuário hive:
su -c 'createuser -s -d -l hive' - postgres;
-
Defina a senha do usuário hive
su -c "psql -U postgres -c \"alter user hive with password 'hive'\"" - postgres;
-
Crie o banco de dados hive:
su -c 'createdb -O hive hive' - postgres;
Criação do Banco de Metadados do Apache Ranger
-
Crie o usuário ranger:
su -c 'createuser -s -d -l ranger' - postgres;
-
Defina a senha do usuário ranger:
su -c "psql -U postgres -c \"alter user ranger with password 'ranger'\"" - postgres;
-
Crie o banco de dados ranger:
su -c 'createdb -O ranger ranger' - postgres;
Criação do Banco de Metadados do Apache Ranger KMS
-
Crie o usuário rangerkms:
su -c 'createuser -s -d -l rangerkms' - postgres;
-
Defina a senha do usuário rangerkms:
su -c "psql -U postgres -c \"alter user rangerkms with password 'rangerkms'\"" - postgres;
-
Crie o banco de dados rangerkms:
su -c 'createdb -O rangerkms rangerkms' - postgres;
Criação do Banco de Metadados do Apache Superset
-
Crie o usuário superset:
su -c 'createuser -s -d -l superset' - postgres;
-
Defina a senha do usuário superset:
su -c "psql -U postgres -c \"alter user superset with password 'superset'\"" - postgres;
-
Crie o banco de dados superset:
su -c 'createdb -O superset superset' - postgres;
Configuração da Instância dos Bancos de Metadados
A seguir, fornecemos 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 arquivos de configuração. |
-
Adicione os demais bancos de dados à regra de acesso do Ambari:
sed -i 's/ambari,mapred/airflow,ambari,druid,hive,mapred,oozie,ranger,rangerkms,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:
sed -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:
sed -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:
systemctl restart postgresql-14
Avalie os impactos de tais configurações na segurança e desempenho do seu ambiente. Caso necessite de apoio, entre em contato, será um prazer auxiliá-lo. |