Configuración y pruebas del entorno de Hadoop
En el experimento anterior, hemos preparado y configurado el entorno Linux y el entorno Hadoop, por lo que en este experimento configuraremos y probaremos el entorno Hadoop sobre la base del experimento anterior.
Instalación y configuración del entorno Linux antes de que se cree el entorno Hadoop
https://blog.csdn.net/weixin_43640161/article/details/108614907
Instalación y configuración del software JDK en Linux
https://blog.csdn.net/weixin_43640161/article/details / 108619802
Domine la instalación y configuración del software Eclipse en Linux
https://blog.csdn.net/weixin_43640161/article/details/108691921
Familiarizado con la descarga y descompresión de Hadoop
https://blog.csdn.net/weixin_43640161/article/details/ 108697510
Hay tres formas de instalar Hadoop: modo independiente, modo pseudodistribuido y modo distribuido.
• Modo autónomo: el modo predeterminado de Hadoop es el modo no distribuido (modo local) y puede ejecutarse sin otra configuración. Proceso Java único o no distribuido, conveniente para la depuración.
• Modo pseudodistribuido: Hadoop puede ejecutarse de manera pseudodistribuida en un solo nodo. El proceso Hadoop se ejecuta como un proceso Java separado. El nodo actúa como NameNode y DataNode. Al mismo tiempo, lee archivos en HDFS.
• Modo distribuido: use varios nodos para formar un entorno de clúster para ejecutar Hadoop.
• Este experimento adopta un modo pseudodistribuido independiente para la instalación.
Consejos importantes sobre conocimientos:
- Hadoop puede ejecutarse de manera pseudodistribuida en un solo nodo. El proceso de Hadoop se ejecuta como un proceso Java separado. El nodo actúa como un NameNode y un DataNode. Al mismo tiempo, lee archivos en HDFS.
- El archivo de configuración de Hadoop se encuentra en hadoop / etc / hadoop /. La pseudodistribución necesita modificar cinco archivos de configuración hadoop-env.sh, core-site.xml, hdfs-site.xml, mapred-site.xml e yarn-site. xml
- El archivo de configuración de Hadoop está en formato xml y cada configuración implementa los
pasos del experimento declarando el nombre y el valor de la propiedad : - Modifique los archivos de configuración: hadoop-env.sh, core-site.xml, hdfs-site.xml, mapred-site.xml, yarn-site.xml
- Inicializar el sistema de archivos hadoop namenode -format
- Inicie todos los procesos start-all.sh o start-dfs.sh, start-yarn.sh
- Visite la interfaz web para ver la información de Hadoop
- Ejecutar instancia
- Detenga todas las instancias: stop-all.sh
El primer paso: configurar el entorno de Hadoop (la versión de jdk es diferente, el contenido modificado también es diferente, yo aquí es jdk1.8.0_181 y hadoop-3.1.1)
1. Configure Hadoop (pseudo-distribuido), modifique 5 archivos de configuración
-
Ingrese al directorio de Hadoop, etc.
Comando de terminal: cd /bigdata/hadoop-3.1.1/etc/hadoop
-
Modifique el primer
comando de terminal del archivo de configuración : sudo vi hadoop-env.sh
Busque la línea 54 y modifique JAVA_HOME de la siguiente manera (recuerde eliminar el signo # al frente):
export JAVA_HOME=/opt/java/jdk1.8.0_181
- Modifique el segundo
comando de terminal del archivo de configuración : sudo vi core-site.xml
<configuration>
<!-- 配置hdfs的namenode(老大)的地址 -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
<!-- 配置Hadoop运行时产生数据的存储目录,不是临时的数据 -->
<property>
<name>hadoop.tmp.dir</name>
<value>file:/bigdata/hadoop-3.1.1/tmp</value>
</property>
</configuration>
- Modifique el tercer
comando de terminal del archivo de configuración : sudo vi hdfs-site.xml
<configuration>
<!-- 指定HDFS存储数据的副本数据量 -->
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.http-address</name>
<value>localhost:50070</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/bigdata/hadoop-3.1.1/tmp/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/bigdata/hadoop-3.1.1/tmp/dfs/data</value>
</property>
</configuration>
Además, aunque la pseudodistribución solo necesita configurar fs.defaultFS y dfs.replication para que se ejecuten (el caso es el tutorial oficial), si el parámetro hadoop.tmp.dir no está configurado, el directorio temporal predeterminado que se utiliza es / tmp / hadoo-hadoop, Y este directorio puede ser limpiado por el sistema al reiniciar, por lo que el formateo debe ejecutarse nuevamente. Así que lo configuramos y también especificamos dfs.namenode.name.dir y dfs.datanode.data.dir, de lo contrario puede haber errores en los siguientes pasos.
- Modifique el cuarto archivo de configuración:
Comando de terminal: sudo vi mapred-site.xml
<configuration>
<!-- 指定mapreduce编程模型运行在yarn上 -->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
- Modifique el quinto archivo de configuración
sudo vi yarn-site.xml
<configuration>
<!-- 指定yarn的老大(ResourceManager的地址) -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>localhost</value>
</property>
<!-- mapreduce执行shuffle时获取数据的方式 -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
-
Inicializar el
comando de terminal hdfs (formato HDFS) :
cd /bigdata/hadoop-3.1.1/bin/
sudo ./hdfs namenode -format
-
Si se solicita la siguiente información, el formateo es exitoso:
Paso 2: Inicie y pruebe Hadoop
Comando de terminal:
cd /bigdata/hadoop-3.1.1/sbin/
ssh localhost
sudo ./start-dfs.sh
sudo ./start-yarn.sh
start-all.sh
Si se informa del error anterior, modifique los siguientes 4 archivos de la siguiente manera:
En la ruta / hadoop / sbin:
agregue los siguientes parámetros en la parte superior de los archivos start-dfs.sh y stop-dfs.sh
#!/usr/bin/env bash
HDFS_DATANODE_USER=root
HADOOP_DATANODE_SECURE_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root
Comando de terminal: sudo vi start-dfs.sh
Comando de terminal: sudo vi stop-dfs.sh
Además, start-yarn.sh y stop-yarn.sh también deben agregar los siguientes parámetros en la parte superior:
#!/usr/bin/env bash
YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=root
Comando de terminal: sudo vi start-yarn.sh
Comando de terminal: sudo vi start-yarn.sh
Reinicie ./start-all.sh después de la modificación, ¡éxito!
Además, si ocurre el siguiente error: resuélvalo de
la siguiente manera:
comando de terminal:
ssh localhost
cd /bigdata/hadoop-3.1.1/
sudo chmod -R 777 logs
sudo chmod -R 777 tmp
-
Use el comando jps para verificar si el proceso existe. Hay un total de 5 procesos (excepto jps). Cada vez que reinicie, el número de identificación del proceso será diferente. Si desea apagar, puede usar el comando stop-all.sh.
4327 DataNode
4920 NodeManager
4218 NameNode
4474 SecondaryNameNode
4651 ResourceManager
5053 Jps
-
Acceda a la interfaz de administración de hdfs
localhost: 50070
-
Interfaz de administración de hilos de acceso
localhost: 8088
- Si hace clic en Nodos, encontrará que ubuntu: 8042 también es accesible
- Si desea detener todos los servicios, ingrese sbin / stop-all.sh
Lo anterior es el contenido de la configuración y las pruebas del entorno de Hadoop. Si encuentra algunos errores extraños, puede dejar un mensaje en el área de comentarios.