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.