Pesquisa de site

Como instalar o cluster de nó único Hadoop (pseudonó) no CentOS 7


Hadoop é uma estrutura de código aberto amplamente usada para lidar com Bigdata. A maioria dos projetos de Bigdata/Data Analytics estão sendo desenvolvidos com base no Ecossistema Hadoop. Consiste em duas camadas, uma é para Armazenamento de Dados e outra é para Processamento de Dados.

O armazenamento será cuidado por seu próprio sistema de arquivos chamado HDFS (Hadoop Distributed Filesystem) e o processamento será feito aos cuidados de YARN (mais um negociador de recursos). Mapreduce é o mecanismo de processamento padrão do Ecossistema Hadoop.

Este artigo descreve o processo de instalação do Pseudonode do Hadoop, onde todos os daemons (JVMs) serão executando o cluster de nó único no CentOS 7.

Isto é principalmente para iniciantes aprenderem Hadoop. Em tempo real, o Hadoop será instalado como um cluster multinode onde os dados serão distribuídos entre os servidores como blocos e o trabalho será executado de forma paralela.

Pré-requisitos

  • Uma instalação mínima do servidor CentOS 7.
  • Versão Java v1.8.
  • Versão estável do Hadoop 2.x.

Nesta página

  • Como instalar o Java no CentOS 7
  • Configure o login sem senha no CentOS 7
  • Como instalar o nó único do Hadoop no CentOS 7
  • Como configurar o Hadoop no CentOS 7
  • Formatando o sistema de arquivos HDFS por meio do NameNode

Instalando Java no CentOS 7

1. Hadoop é um ecossistema composto de Java. Precisamos obrigatoriamente do Java instalado em nosso sistema para instalar o Hadoop.

yum install java-1.8.0-openjdk

2. Em seguida, verifique a versão do Java instalada no sistema.

java -version

Configure o login sem senha no CentOS 7

Precisamos ter o ssh configurado em nossa máquina, o Hadoop irá gerenciar os nós com o uso do SSH. O nó mestre usa conexão SSH para conectar seus nós escravos e executar operações como iniciar e parar.

Precisamos configurar o ssh sem senha para que o mestre possa se comunicar com os escravos usando ssh sem senha. Caso contrário, para cada estabelecimento de conexão, será necessário inserir a senha.

Neste único nó, os serviços Mestre (Namenode, Namenode Secundário e Gerenciador de Recursos) e Escravo< serviços (Datanode e Nodemanager) serão executados como JVMs separadas. Mesmo sendo um nó único, precisamos ter ssh sem senha para fazer com que o Master se comunique com o Slave sem autenticação.

3. Configure um login SSH sem senha usando os seguintes comandos no servidor.

ssh-keygen
ssh-copy-id -i localhost

4. Depois de configurar o login SSH sem senha, tente fazer login novamente, você será conectado sem senha.

ssh localhost

Instalando o Hadoop no CentOS 7

5. Acesse o site do Apache Hadoop e baixe a versão estável do Hadoop usando o seguinte comando wget.

wget https://archive.apache.org/dist/hadoop/core/hadoop-2.10.1/hadoop-2.10.1.tar.gz
tar xvpzf hadoop-2.10.1.tar.gz

6. Em seguida, adicione as variáveis de ambiente Hadoop no arquivo ~/.bashrc conforme mostrado.

HADOOP_PREFIX=/root/hadoop-2.10.1
PATH=$PATH:$HADOOP_PREFIX/bin
export PATH JAVA_HOME HADOOP_PREFIX

7. Após adicionar variáveis de ambiente ao arquivo ~/.bashrc, crie o arquivo e verifique o Hadoop executando os comandos a seguir.

source ~/.bashrc
cd $HADOOP_PREFIX
bin/hadoop version

Configurando o Hadoop no CentOS 7

Precisamos configurar os arquivos de configuração do Hadoop abaixo para caber em sua máquina. No Hadoop cada serviço possui seu próprio número de porta e seu próprio diretório para armazenar os dados.

  • Arquivos de configuração Hadoop – core-site.xml, hdfs-site.xml, mapred-site.xml e yarn-site.xml

8. Primeiro, precisamos atualizar o caminho JAVA_HOME e Hadoop no arquivo hadoop-env.sh conforme mostrado .

cd $HADOOP_PREFIX/etc/hadoop
vi hadoop-env.sh

Digite a seguinte linha no início do arquivo.

export JAVA_HOME=/usr/lib/jvm/java-1.8.0/jre
export HADOOP_PREFIX=/root/hadoop-2.10.1

9. Em seguida, modifique o arquivo core-site.xml.

cd $HADOOP_PREFIX/etc/hadoop
vi core-site.xml

Cole o seguinte entre as tags <configuration> conforme mostrado.

<configuration>
            <property>
                   <name>fs.defaultFS</name>
                   <value>hdfs://localhost:9000</value>
           </property>
</configuration>

10. Crie os diretórios abaixo no diretório inicial do usuário tecmint, que será usado para armazenamento NN e DN.

mkdir -p /home/tecmint/hdata/
mkdir -p /home/tecmint/hdata/data
mkdir -p /home/tecmint/hdata/name

10. Em seguida, modifique o arquivo hdfs-site.xml.

cd $HADOOP_PREFIX/etc/hadoop
vi hdfs-site.xml

Cole o seguinte entre as tags <configuration> conforme mostrado.

<configuration>
<property>
        <name>dfs.replication</name>
        <value>1</value>
 </property>
  <property>
        <name>dfs.namenode.name.dir</name>
        <value>/home/tecmint/hdata/name</value>
  </property>
  <property>
          <name>dfs .datanode.data.dir</name>
          <value>home/tecmint/hdata/data</value>
  </property>
</configuration>

11. Novamente, modifique o arquivo mapred-site.xml.

cd $HADOOP_PREFIX/etc/hadoop
cp mapred-site.xml.template mapred-site.xml
vi mapred-site.xml

Cole o seguinte entre as tags <configuration> conforme mostrado.

<configuration>
                <property>
                        <name>mapreduce.framework.name</name>
                        <value>yarn</value>
                </property>
</configuration>

12. Por último, modifique o arquivo yarn-site.xml.

cd $HADOOP_PREFIX/etc/hadoop
vi yarn-site.xml

Cole o seguinte entre as tags <configuration> conforme mostrado.

<configuration>
                <property>
                       <name>yarn.nodemanager.aux-services</name>
                       <value>mapreduce_shuffle</value>
                </property>
</configuration>

Formatando o sistema de arquivos HDFS por meio do NameNode

13. Antes de iniciar o Cluster, precisamos formatar o Hadoop NN em nosso sistema local onde ele foi instalado. Normalmente, isso será feito no estágio inicial, antes de iniciar o cluster pela primeira vez.

A formatação do NN causará perda de dados no metastore do NN, por isso temos que ser mais cautelosos, não devemos formatar o NN enquanto o cluster estiver em execução, a menos que seja necessário intencionalmente.

cd $HADOOP_PREFIX
bin/hadoop namenode -format

14. Inicie o daemon NameNode e o daemon DataNode: (porta 50070).

cd $HADOOP_PREFIX
sbin/start-dfs.sh

15. Inicie o daemon ResourceManager e o daemon NodeManager: (porta 8088).

sbin/start-yarn.sh

16. Para parar todos os serviços.

sbin/stop-dfs.sh
sbin/stop-dfs.sh
Resumo

Resumo
Neste artigo, percorremos o processo passo a passo para configurar o pseudonó Hadoop (nó único) cluster. Se você tiver conhecimento básico de Linux e seguir estas etapas, o cluster estará ativo em 40 minutos.

Isso pode ser muito útil para o iniciante começar a aprender e praticar o Hadoop ou esta versão básica do Hadoop pode ser usada para fins de desenvolvimento. Se quisermos ter um cluster em tempo real, precisamos de pelo menos 3 servidores físicos em mãos ou precisamos provisionar Cloud para ter vários servidores.