Pesquisa de site

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.