Como instalar e configurar o Cloudera Manager no CentOS/RHEL 7 - Parte 3
Neste artigo, descrevemos o processo passo a passo para instalar o Cloudera Manager de acordo com as práticas industriais. Na Parte 2, já passamos pelos Pré-requisitos do Cloudera, certifique-se de que todos os servidores estejam perfeitamente preparados.
Requisitos
- Melhores práticas para implantação do servidor Hadoop no CentOS/RHEL 7 – Parte 1
- Configurando pré-requisitos do Hadoop e reforço de segurança – Parte 2
Aqui teremos um cluster de 5 nós onde 2 mestres e 3 trabalhadores. Usei 5 instâncias AWS EC2 para demonstrar o procedimento de instalação. Eu nomeei esses 5 servidores conforme abaixo.
master1.linux-console.net
master2.linux-console.net
worker1.linux-console.net
worker2.linux-console.net
worker3.linux-console.net
O Cloudera Manager é uma ferramenta administrativa e de monitoramento para todo o CDH. Nós administradores geralmente a chamamos de ferramenta de gerenciamento para Cloudera Hadoop. Podemos implantar, monitorar, controlar e fazer alterações na configuração com o uso desta ferramenta. Isso é essencial para gerenciar todo o cluster.
Abaixo estão os usos importantes do Cloudera Manager.
- Implante e configure clusters Hadoop de forma automatizada.
- Monitorar a integridade do cluster
- Configurar alertas
- Solução de problemas
- Comunicando
- Fazendo relatório de utilização de cluster
- Configurando recursos dinamicamente
Etapa 1: Instalando o servidor Web Apache no CentOS
Usaremos o master1
como servidor web para repositórios Cloudera. Além disso, Cloudera Manager é WebUI, então precisamos ter o Apache instalado. Siga as etapas abaixo para instalar o servidor web Apache.
yum -y install httpd
Uma vez instalado o httpd, inicie-o e habilite-o para que seja iniciado na inicialização.
systemctl start httpd
systemctl enable httpd
Depois de iniciar o httpd, verifique o status.
systemctl status httpd
Depois de iniciar o httpd, abra um navegador em seu sistema local e cole o endereço IP de master1
na barra de pesquisa. Você deve obter esta página de teste para ter certeza de que o httpd está funcionando bem.
Etapa 2: Configurar DNS local para resolver IP e nome de host
Precisamos ter um servidor DNS ou configurar /etc/hosts para resolver IP e nome de host. Aqui estamos configurando /etc/hosts, mas em tempo real, um servidor DNS dedicado estará presente para o ambiente de produção.
Siga as etapas abaixo para criar uma entrada para todos os seus servidores em /etc/hosts.
vi /etc/hosts
Isso deve ser configurado em todos os servidores.
13.235.27.144 master1.linux-console.net master1
13.235.135.170 master2.linux-console.net master2
15.206.167.94 worker1.linux-console.net worker1
13.232.173.158 worker2.linux-console.net worker2
65.0.182.222 worker3.linux-console.net worker3
Etapa 3: configurar o login SSH sem senha
O Cloudera Manager está sendo instalado no master1
nesta demonstração. Precisamos configurar o ssh sem senha de master1
para todos os outros nós. Porque o Cloudera Manager usará ssh para comunicar todos os outros nós para instalar pacotes.
Siga as etapas abaixo para configurar o ssh sem senha de master1
para todos os servidores restantes. Teremos um usuário ‘tecmint’ para prosseguir.
Crie um usuário ‘tecmint‘ em todos os 4 servidores usando o comando useradd conforme mostrado.
useradd -m tecmint
Para conceder privilégio de root ao usuário ‘tecmint‘, adicione a linha abaixo no arquivo /etc/sudoers. Você pode adicionar esta linha sob root como mostrado na captura de tela.
tecmint ALL=(ALL) ALL
Mude para o usuário ‘tecmint’ e crie a chave ssh no master1
usando o comando abaixo.
sudo su tecmint
ssh-keygen
Agora copie a chave criada para todos os 4 servidores usando o comando ssh-copy-id conforme mostrado.
ssh-copy-id -i ~/.ssh/id_rsa.pub [email
ssh-copy-id -i ~/.ssh/id_rsa.pub [email
ssh-copy-id -i ~/.ssh/id_rsa.pub [email
ssh-copy-id -i ~/.ssh/id_rsa.pub [email
Agora você deve ser capaz de fazer ssh de master1
para todos os servidores restantes sem uma senha, conforme mostrado.
ssh master2
ssh worker1
ssh worker2
ssh worker3
Etapa 4: instalação e configuração do Cloudera Manager
Podemos usar o repositório vendor (Cloudera) para instalar todos os pacotes usando as ferramentas de gerenciamento de pacotes no RHEL/CentOS. Em tempo real, criar nosso próprio repositório é a melhor prática, pois podemos não ter acesso à Internet nos servidores de produção.
Aqui vamos instalar a versão do Cloudera Manager 6.3.1. Como usaremos master1
como servidor repo, estamos baixando os pacotes no caminho mencionado abaixo.
Crie os diretórios mencionados abaixo no servidor master1
.
sudo mkdir -p /var/www/html/cloudera-repos/cm6
Podemos usar a ferramenta wget para baixar pacotes via http. Portanto, instale wget usando o comando abaixo.
sudo yum -y install wget
Em seguida, baixe o arquivo tar do Cloudera Manager usando o seguinte comando wget.
wget https://archive.cloudera.com/cm6/6.3.1/repo-as-tarball/cm6.3.1-redhat7.tar.gz
Extraia o arquivo tar em /var/www/html/cloudera-repos/cm6, já fizemos master1
como servidor web instalando http e testamos no navegador.
sudo tar xvfz cm6.3.1-redhat7.tar.gz -C /var/www/html/cloudera-repos/cm6 --strip-components=1
Agora, verifique se todos os arquivos rpm do Cloudera estão no diretório /var/www/html/cloudera-repos/cm6/RPMS/x86_64.
cd /var/www/html/cloudera-repos/cm6
ll
Crie arquivos /etc/yum.repos.d/cloudera-manager.repo em todos os servidores nos hosts do cluster com o seguinte conteúdo, aqui master1
(65.0.101.148) é o servidor Web.
[cloudera-repo]
name=cloudera-manager
baseurl=http:///cloudera-repos/cm6/
enabled=1
gpgcheck=0
Agora que o repositório foi adicionado, execute o comando abaixo para visualizar os repositórios habilitados.
yum repolist
Execute o comando abaixo para visualizar todos os pacotes relacionados ao Cloudera disponíveis no repositório.
yum list available | grep cloudera*
Instale cloudera-manager-server, cloudera-manager-agent, cloudera-manager-daemons cloudera-manager-server-db-2.
sudo yum install cloudera-manager-daemons cloudera-manager-agent cloudera-manager-server cloudera-manager-server-db-2
Execute o comando abaixo para visualizar todos os pacotes Cloudera instalados.
yum list installed | grep cloudera*
Execute o comando abaixo para iniciar o cloudera-scm-server-db, que é um banco de dados subjacente para armazenar o Cloudera Manager e outros metadados de serviços.
Por padrão, o Cloudera vem com o postgre-sql que está incorporado no Cloudera Manager. Estamos instalando o embarcado, em um banco de dados externo em tempo real que pode ser utilizado. Pode ser Oracle, MySQL ou PostgreSQL.
sudo systemctl start cloudera-scm-server-db
Execute o comando abaixo para verificar o status do banco de dados.
sudo systemctl status cloudera-scm-server-db
Configure o db.properties para o servidor Cloudera Manager.
vi /etc/cloudera-scm-server/db.properties
Configure o valor abaixo como EMBEDDED para fazer com que o Cloudera Manager use o Embedded Database.
com.cloudera.cmf.db.setupType=EMBEDDED
Execute o comando abaixo para iniciar o servidor Cloudera Manager.
sudo systemctl start cloudera-scm-server
Execute o comando abaixo para verificar o status do servidor Cloudera Manager.
sudo systemctl status cloudera-scm-server
Execute o comando abaixo para iniciar e verificar o status do agente Cloudera Manager.
sudo systemctl start cloudera-scm-agent
sudo systemctl status cloudera-scm-agent
Depois que o Cloudera Manager Server estiver instalado e funcionando corretamente, você poderá visualizar a WebUI (página de login) no navegador usando o endereço IP e o número da porta 7180, que é o número da porta do Gerenciador Cloudera.
https://65.0.101.148:7180
Resumo
Neste artigo, vimos o processo passo a passo para instalar o Cloudera Manager no CentOS 7. Veremos o CDH e outras instalações de serviços no próximo artigo.