Linux é suficiente para construir Hadoop

Prefácio

Isso é principalmente para construir hadoop 2.8.3 sob centos7. Ele registra a compilação do Hadoop com mais detalhes. Ele registra e resolve alguns erros encontrados na Internet e em I. Embora a compilação possa não ser muito difícil, a primeira compilação, eu também encontrou muitos erros, mas demorou uma noite e uma tarde para construir com sucesso. Registre os amigos que esperam ajudar outros parceiros de aprendizagem.

Pronto para trabalhar

Ambiente Java jdk1.8

imagem

hadoop2.8.3

imagem

Modificar o nome do host

imagem

Desligue o firewall

imagem

Criar usuário hadoop

Começar

  1. Modifique a configuração de rede da máquina virtual NAT, defina o segmento de sub-rede da máquina virtual

Método de modificação: pesquisa local -> edição de rede virtual

imagem

imagem

  1. Aqui, modifique o segmento de sub-rede padrão, que é 192.168.100. Meu segmento de rede anterior é 192.168.85 . Lembre-se do endereço IP do segmento de rede aqui, que é necessário para configuração na máquina virtual abaixo.

imagem

  1. Após modificar o endereço IP da sub-rede, o IP correspondente configurado na máquina virtual deve estar neste segmento de rede.

imagem

  1. Modificar o nome do host

Existem duas maneiras de modificar o nome do host, uma é a modificação temporária, que se torna inválida após a reinicialização, e a outra é a modificação permanente.

Primeiro verifique o nome do host da máquina:

root@master ~]# hostname

imagem

Meu nome de host modificado, você deve ser localhost.localhost antes de modificá-lo

Aqui, sugiro que você use a modificação temporária.

[root@master ~]# hostname master

Para modificações permanentes, consulte: https://www.cnblogs.com/zhangwuji/p/7487856.html

  1. Desligue o firewall

Para referência, aqui está como fechar centos7: https://blog.csdn.net/ytangdigl/article/details/79796961

  • Ao desligar o firewall aqui, ajude o selinux a desligar também. selinux é um mecanismo de sub-segurança do Linux.
vim /etc/sysconfig/selinux

imagem

  1. Crie hadoop de usuário e conceda privilégios de root.

Este é um comando básico do Linux, então você não pode verificar o Baidu, é relativamente simples.

  • Como já criei o hadoop, aqui vou criar o hadoop1.
[root@master ~]# useradd hadoop1
[root@master ~]# passwd hadoop1

imagem

  • Dê ao usuário hadoop1 a permissão sudo. Depois de dar a permissão sudo, precisamos adicionar um sudo antes de executar o comando
[root@master ~]# vim /etc/sudoers

Adicionar extrato

root    ALL=(ALL)       ALL
hadoop1 ALL=(root) NOPASSWD:ALL

imagem

  • Ver usuário atual
[root@master ~]# cat /etc/passwd

imagem

  • Teste o usuário: su

imagem

  1. Instale o jdk
  • Instalar o jdk é relativamente simples, não vou introduzir muito aqui, aqui devemos lembrar o caminho de instalação do jdk.
  • Desinstalar jdk existente
  • Consulte se deseja instalar o software Java:
rpm -qa | grep java
  • Se a versão instalada for inferior a 1.7, desinstale o JDK:
sudo rpm -e 软件包
  • Coloque o pacote de instalação jdk na máquina virtual e descompacte-o. Aqui criamos um diretório para salvar o software.
mkdir -p /opt/modulel
将解压后的Jdk放到这个目录下,防止忘记Java的安装位置。
  • Configurar variáveis ​​de ambiente JDK
 打开/etc/profile文件
sudo vi /etc/profile  
在profile文件末尾添加JDK路径
#JAVA_HOME
export JAVA_HOME=/opt/module/jdk1.8.0_144
export PATH=$PATH:$JAVA_HOME/bin
  • Deixe o arquivo modificado entrar em vigor
source /etc/profile
  • Teste se o JDK foi instalado com sucesso
Java -version

imagem

  1. Instalar hadoop

Antes de instalar o hadoop, certifique-se de que a instalação do jdk está correta. Caso contrário, o hadoop não funcionará normalmente.

  • baixar

https://archive.apache.org/dist/hadoop/common/hadoop-2.7.2/

  • Descompacte ou descompacte hadoop para / opt / module acima.
  • Abra o arquivo / etc / profile
sudo vi /etc/profile
在profile文件末尾添加JDK路径:(shitf+g)
##HADOOP_HOME
export HADOOP_HOME=/opt/module/hadoop-2.7.2(这个改成你的hadoop版本)
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin
  • Sair depois de salvar
  • Deixe o arquivo modificado entrar em vigor
source /etc/profile
  • Teste se a instalação foi bem sucedida
hadoop version (注意没有-)

imagem

hadoop run

  • Os modos operacionais do Hadoop incluem: modo local, modo pseudo-distribuído e modo totalmente distribuído
  • O modo local e o modo pseudo-distribuído são usados ​​principalmente aqui.

Modo **** de operação local

  • Caso oficial Grep
  • Crie uma pasta wcinput sob o arquivo hadoop2.8.3
mkdir wcinput
  • Crie um arquivo wc.input no arquivo wcinput
cd wcinput
touch wc.input
  • Edite o arquivo wc.input
hadoop yarn
hadoop mapreduce
atguigu
atguigu
  • Volte para o diretório do Hadoop /opt/module/hadoop-2.8.2
  • executar programa
hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.2.jar wordcount wcinput wcoutput

Explique a consciência desta frase: Este é um programa hadoop. Este pacote jar é um arquivo que vem com o hadoop. No caso do wordcount, wcinput é a pasta de entrada seguida pela saída para essa pasta.

  • Ver resultados
cat wcoutput/part-r-00000
atguigu 2
hadoop  2
mapreduce       1
yarn    1

Executado localmente com sucesso

Modo operacional pseudo-distribuído

  • degrau
  • Configure o cluster
  • Inicie, teste a adição, exclusão e verificação do cluster
  • Implementação do caso WordCount
  1. Configure o cluster

Configuração: hadoop-env.sh add JAVA_HOME Road King

export JAVA_HOME=/opt/module/jdk1.8.0_144
  1. Posicionamento: core-site.xml
<!-- 指定HDFS中NameNode的地址 -->
<property>
<name>fs.defaultFS</name>
    <value>hdfs://master(你的主机名):9000</value>
</property>
 
<!-- 指定Hadoop运行时产生文件的存储目录 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/module/hadoop-2.7.2/data/tmp</value>(这个是用来存放hadoop执行生成的数据文件夹)
</property>
  1. Configuração: hdfs-site.xml
<!-- 指定HDFS副本的数量 -->
<property>
<name>dfs.replication</name>
<value>1</value>
</property
  1. Inicie o cluster
  • Formate o NameNode (formate-o na primeira inicialização e não o formate o tempo todo). Preste atenção a isso. Não formate-o com frequência. A formatação frequente pode facilmente levar a erros na correspondência de nó subsequente.
  • Inicie o NameNode
sbin/hadoop-daemon.sh start namenode
  • Iniciar DataNode
sbin/hadoop-daemon.sh start datanode
  1. Iniciar SecondaryNameNode
sbin/hadoop-daemon.sh start secondarynamenode
  1. Comando JPS para verificar se foi iniciado com sucesso, se houver um resultado, o início foi bem sucedido
输入jps出现
3034 NameNode
3233 Jps
3193 SecondaryNameNode
3110 DataNode
表示成功
  1. Depois que a inicialização for bem-sucedida, você pode verificar se ela foi bem-sucedida na web

http: // hadoop101: 50070 / dfshealth.html # tab-overview

Observação: se você não conseguir visualizá-lo, consulte a seguinte postagem para processamento: http://www.cnblogs.com/zlslch/p/6604189.html

imagem

Cluster de operação (HDFS)

  1. Crie uma pasta de entrada no sistema de arquivos HDFS
bin/hdfs dfs -mkdir -p /user/atguigu/input

imagem

imagem

  1. Carregue o conteúdo do arquivo de teste para o sistema de arquivos, aqui carregamos a pasta wc.input que criamos anteriormente
bin/hdfs dfs -mkdir -p /user/atguigu/input

imagem

  1. Execute o programa MapReduce
bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.8.3.jar wordcount /user/atguigu/input/ /user/atguigu/output

Depois que a operação for bem-sucedida, dois arquivos aparecerão no diretório de saída, indicando que a execução foi bem-sucedida.
imagem

  1. Exclua o resultado de saída, porque enviaremos o arquivo para a saída mais tarde. Se esta pasta existir, pode haver conflito, portanto, exclua-a primeiro.
hdfs dfs -rm -r /user/atguigu/output

Inicie o YARN e execute o programa MapReduce

  • degrau
  • Configure o cluster para executar MR no YARN
  • Inicie, teste a adição, exclusão e verificação do cluster
  • Executando o caso WordCount no YARN
  1. Configure o cluster, configure yarn-env.sh, adicione uma instrução no final do arquivo
export JAVA_HOME=/opt/module/jdk1.8.0_144(这里的jdk改为你的版本)
  1. Canal yarn-site.xml
<!-- Reducer获取数据的方式 -->
<property>
  <name>yarn.nodemanager.aux-services</name>
  <value>mapreduce_shuffle</value>
</property>
 
<!-- 指定YARN的ResourceManager的地址 -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>master</value>
</property>
  1. Configuração: mapred-env.sh, adicione também java_home
export JAVA_HOME=/opt/module/jdk1.8.0_144
  1. Configuração: (Renomear mapred-site.xml.template para) mapred-site.xml
mv mapred-site.xml.template mapred-site.xml
vi mapred-site.xml
添加
<!-- 指定MR运行在YARN上 -->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
  1. Inicie o cluster
  • Antes de começar, você deve garantir que o NameNode e DataNode foram iniciados, use jps para verificar se eles foram iniciados
  1. Inicie o ResourceManager que foi iniciado antes, não se preocupe com isso
  2. Iniciar NodeManager
sbin/yarn-daemon.sh start nodemanager
  1. Visualização da página do navegador YARN http: // master: 8088 / cluster

imagem

  1. Execute o programa MapReduce e exclua o diretório de saída antes para evitar conflito com isso, mas você pode modificar o nome da pasta de saída, por exemplo, output1.
bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.8.3.jar wordcount /user/atguigu/input  /user/atguigu/output

imagem

Isso indica sucesso, verifique no lado da web.

imagem

sucesso.

problema

  1. Aqui eu explico principalmente os erros encontrados por alguns hadoops grandes.O maior problema é o problema que me fez construir várias vezes e outra vez, ou seja, a última etapa está travada.

Resolvi isso fazendo referência a: https://blog.csdn.net/wjw498279281/article/details/80317424

  1. Além disso, o upload falhou quando o arquivo foi carregado por HDFS no final. Esse problema era principalmente porque o firewall não estava desligado. Na verdade, ele não foi desligado porque eu o desliguei no root e finalmente mudei para hadoop, mas o upload falhou.

A solução para isso: https://blog.csdn.net/qq_44702847/article/details/105403388

3 - Existem alguns outros erros, mas o primeiro problema me mantém preso na última etapa.

Conclusão

Esta é a primeira vez que construo hadoop, por favor, grave-o. Após a configuração, pode-se considerar um pequeno entendimento da construção do hadoop.

Acho que você gosta

Origin blog.csdn.net/qq_44762290/article/details/110137505
Recomendado
Clasificación