Hadoop é dividida em modo local, pseudo-distribuído e modo totalmente distribuído, modo local refere-se à configuração em um servidor único Hadoop,-pseudo distribuído ou um único servidor para executar vários processos, no entanto, totalmente distribuído para executar em servidores diferentes, porque o aprendizado estágio não há servidores suficientes disponíveis, de modo que o uso do Hadoop para construir um totalmente distribuído através de máquina virtual VMware.
Instalar o JDK
site oficial para baixar jdk1.8: https://www.oracle.com/java/technologies/javase-downloads.html (um pouco lento)
Huawei pode baixar espelho: https://repo.huaweicloud.com/java/jdk/8u192-b12/
# Descompressão
tar -zxvf jdk-8u231-linux- x64.tar.gz -C / opt / módulo
Configuração variável de ambiente
vim / etc / Perfil
# adicionar Perfil conteúdo:
$ JAVA_HOME = / opt / Módulo / jdk1.8 .0_192
$ PATH = $ PATH : $ JAVA_HOME / bin
# atualização da
fonte / etc / profile
Teste se a instalação for bem sucedida jdk java -version
instalação Hadoop
Faça o download do site oficial: https://hadoop.apache.org/releases.html
# Descompressão
tar -zxvf hadoop-2.7.7.tar.gz -C / opt / módulo
Configuração variável de ambiente
vim / etc / perfil # 增加内容 exportação HADOOP_HOME = / opt / módulo / hadoop-2.7.7 export PATH = $ PATH : $ HADOOP_HOME / bin export PATH = $ PATH : $ HADOOP_HOME / sbin
#更新
source / etc / profile
Teste Hadoop está instalado versão do Hadoop com sucesso
Preparando Máquinas Virtuais
Três clonado máquina virtual, desligue o firewall, configurar a rede para garantir o bom rede entre as três máquinas virtuais. Porque NameNode e SecondaryNameNode a memória necessária é de 1: 1 relacionamento assim não pode ser colocado em uma máquina servidor irá reduzir o desempenho (claro, por razões de dados de confiabilidade, SecondaeyNameNode pode falhar quando a recuperação da parte remanescente do NameNode dados editar parcela não log atualizado não pode ser atualizado exterior NameNode local de trabalho), e o mesmo não pode ResourceManager NN, 2NN no mesmo servidor, que exige pelo menos um servidor.
Hadoop-101 | hadoop-102 | hadoop-103 | |
HDFS | NameNode DataNode |
DataNode |
SecondaryNameNode DataNode |
FIO |
NodeManager |
Gerente de Recursos NodeManager |
NodeManager |
Configuração de Cluster
Você pode configurar uma configuração de cluster em hadoop-101 em um servidor, distribuídos para outros servidores no cluster xsync
1) perfil núcleo
Ao configurar o endereço NameNode Se você não configurar o arquivo hosts pode ser escrito o endereço IP, número de porta 9000 em mente
cd /opt/module/hadoop-2.7.7/
vim etc / hadoop / core- site.xml
# conteúdo add
<! - Especifica o endereço do HDFS NameNode ->
<Property >
<name > fs.defaultFS </ name>
<value > HDFS: // Hadoop-101: 9000 </ value> '
< / Property>
< ! -配置文件存储路径->
<property >
<name > hadoop.tmp.dir </ name>
<value > /opt/module/hadoop-2.7.7/data/tmp </ valor >
< / property>
2) hdfs perfil
vim hadoop-env.sh
#加入jdk环境变量
export JAVA_HOME=/opt/module/jdk1.8.0_231
vim etc/hadoop/hdfs-site.xml
#增加新配置信息
<!--hdfs的副本数,默认为3时可以不写-->
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<!-- 指定Hadoop的SecondaryNameNode-->
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>hadoop-103:50090</value>
</property>
3)YARN配置
vim etc/hadoop/yarn-env.sh
#加入jdk环境变量
export JAVA_HOME=/opt/module/jdk1.8.0_231
vim etc/hadoop/yarn-site.xml
<!-- Reducer获取数据的方式 -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<!-- 指定Yarn的ResorceManager的地址-->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>hadoop-102</value>
</property>
4)MapReduce配置文件
vim mapred-env.sh
export JAVA_HOME=/opt/module/jdk1.8.0_231
#加入jdk环境变量
vim etc/hadoop/mapred-site.xml
<!--指定mr在yarn上运行 -->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
简单的完全分布式已经配置完成,可以通过sbin/start-dfs.sh启动测试!