Hadoop se divide en modo local, pseudo-distribuida y modalidad completamente distribuida, el modo local se refiere a la configuración en un único servidor Hadoop, pseudo-distribuido o un solo servidor para ejecutar varios procesos, sin embargo, totalmente distribuido para ejecutarse en servidores diferentes, debido a que el aprendizaje etapa no hay suficientes servidores disponibles, por lo que el uso de Hadoop para construir una totalmente distribuido a través de la máquina virtual de VMware.
Instalar el JDK
sitio web oficial para descarga jdk1.8: https://www.oracle.com/java/technologies/javase-downloads.html (un poco lento)
Huawei puede descargar espejo: https://repo.huaweicloud.com/java/jdk/8u192-b12/
# Descompresión
alquitrán -zxvf JDK-8u231-linux- x64.tar.gz -C / opt / módulo
variable de entorno de configuración
vim / etc / Perfil
# Añadir perfil contenido:
$ JAVA_HOME = / opt / Módulo / jdk1.8 .0_192
$ PATH = $ PATH : $ JAVA_HOME / bin
# actualización de la
fuente / etc / profile
Probar si la instalación es correcta JDK de Java -versión
instalación hadoop
Descargar la página web oficial: https://hadoop.apache.org/releases.html
# Descompresión
alquitrán -zxvf hadoop-2.7.7.tar.gz -C / opt / módulo
variable de entorno de configuración
vim / etc / perfil # 增加内容 exportación HADOOP_HOME = / opt / módulo / hadoop-2.7.7 export PATH = $ PATH : $ HADOOP_HOME / bin export PATH = $ PATH : $ HADOOP_HOME / sbin
#更新
source / etc / profile
Prueba de Hadoop se instala la versión con éxito hadoop
Preparación de máquinas virtuales
Tres clonado máquina virtual, apague el servidor de seguridad, configurar la red para asegurar la red sin problemas entre las tres máquinas virtuales. Debido NameNode y SecondaryNameNode la memoria requerida es de 1: 1 relación de modo no puede ser colocado en una máquina servidor que reducirá el rendimiento (por supuesto, por razones de datos de fiabilidad, SecondaeyNameNode puede fallar cuando la recuperación en la parte restante de la NameNode datos editar porción no registro actualizado no se puede actualizar exterior lugar de trabajo NameNode), y lo mismo puede no ResourceManager NN, 2NN en el mismo servidor, se requiere al menos un servidor.
Hadoop-101 | hadoop-102 | hadoop-103 | |
HDFS | NameNode DataNode |
DataNode |
SecondaryNameNode DataNode |
HILO |
NodeManager |
Administrador de recursos NodeManager |
NodeManager |
Configuración de clúster
Puede configurar una configuración de clúster en hadoop-101 en un servidor, distribuido a otros servidores del clúster xSync
1) el perfil de núcleo
Al configurar la dirección NameNode Si no configura el archivo de hosts se puede escribir la dirección IP, número de puerto 9000 en mente
cd /opt/module/hadoop-2.7.7/
vim etc / hadoop / núcleo- la site.xml
# contenido add
<! - Especifica la dirección de HDFS NameNode ->
<propiedad >
<nombre > fs.defaultFS </ name>
<valor > HDFS: // Hadoop-101: 9000 </ value> '
< / propiedad>
< ! - - ruta de almacenamiento de archivos de configuración>
<propiedad >
<nombre > hadoop.tmp.dir </ name>
<valor > /opt/module/hadoop-2.7.7/data/tmp </ value>
< / propiedad>
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启动测试!