Saltar al contenido

No se pudo encontrar o cargar la clase principal org.apache.hadoop.mapreduce.v2.app.MRAppMaster

Recuerda que en las ciencias informáticas cualquier problema suele tener diferentes resoluciones, así que nosotros te enseñaremos lo más óptimo y eficiente.

Solución:

Tuve el mismo problema y lo resolví agregando esto en mapred-sitio.xml (así que edite su mapreduce.application.classpath propiedad)

 
    mapreduce.application.classpath
    $HADOOP_MAPRED_HOME/share/hadoop/mapreduce/*,$HADOOP_MAPRED_HOME/share/hadoop/mapreduce/lib/*,$HADOOP_MAPRED_HOME/share/hadoop/common/*,$HADOOP_MAPRED_HOME/share/hadoop/common/lib/*,$HADOOP_MAPRED_HOME/share/hadoop/yarn/*,$HADOOP_MAPRED_HOME/share/hadoop/yarn/lib/*,$HADOOP_MAPRED_HOME/share/hadoop/hdfs/*,$HADOOP_MAPRED_HOME/share/hadoop/hdfs/lib/*

Agregué la siguiente propiedad en yarn-site.xml


  yarn.application.classpath
   $HADOOP_CONF_DIR,$HADOOP_COMMON_HOME/share/hadoop/common/*,$HADOOP_COMMON_HOME/share/hadoop/common/lib/*,$HADOOP_HDFS_HOME/share/hadoop/hdfs/*,$HADOOP_HDFS_HOME/share/hadoop/hdfs/lib/*,$HADOOP_MAPRED_HOME/share/hadoop/mapreduce/*,$HADOOP_MAPRED_HOME/share/hadoop/mapreduce/lib/*,
    $HADOOP_YARN_HOME/share/hadoop/yarn/*,$HADOOP_YARN_HOME/share/hadoop/yarn/lib/* 
  

E hice los mismos cambios en mi programa de reducción de mapas.

  configuration.set("yarn.application.classpath",
              "HADOOP_CONF_DIR,HADOOP_COMMON_HOME/share/hadoop/common/*,HADOOP_COMMON_HOME/share/hadoop/common/lib/*,"
                  + " HADOOP_HDFS_HOME/share/hadoop/hdfs/*,HADOOP_HDFS_HOME/share/hadoop/hdfs/lib/*,"
                  + "HADOOP_MAPRED_HOME/share/hadoop/mapreduce/*,HADOOP_MAPRED_HOME/share/hadoop/mapreduce/lib/*,"
                  + "HADOOP_YARN_HOME/share/hadoop/yarn/*,HADOOP_YARN_HOME/share/hadoop/yarn/lib/*");

Mi programa está funcionando sin problemas ahora. Siéntete libre de preguntarme detalles.

Solo edita el mapred-sitio.xml expediente :

Agregue las siguientes propiedades:

  1. mapreduce.framework.name
    yarn

  2. yarn.app.mapreduce.am.env
    HADOOP_MAPRED_HOME=/Users/adityaatri/Applications/hadoop-3.1.3

  3. mapreduce.map.env
    HADOOP_MAPRED_HOME=/Users/adityaatri/Applications/hadoop-3.1.3

  4. mapreduce.reduce.env
    HADOOP_MAPRED_HOME=/Users/adityaatri/Applications/hadoop-3.1.3

Ahora, para todas las 4 propiedades anteriores, reemplace la ruta /Users/adityaatri/Applications/hadoop-3.1.3 con su dirección particular de Hadoop.

Ahora agregue la quinta propiedad:

  1. mapreduce.application.classpath

los el elemento debe llenarse con contenido después de ejecutar los siguientes comandos en su terminal:

  1. export HADOOP_CLASSPATH=$(hadoop classpath)

  2. echo $HADOOP_CLASSPATH

La salida de mi terminal:

/Users/adityaatri/Applications/hadoop-3.1.3/etc/hadoop:/Users/adityaatri/Applications/hadoop-3.1.3/share/hadoop/common/lib/*:/Users/adityaatri/Applications/hadoop-3.1.3/share/hadoop/common/*:/Users/adityaatri/Applications/hadoop-3.1.3/share/hadoop/hdfs:/Users/adityaatri/Applications/hadoop-3.1.3/share/hadoop/hdfs/lib/*:/Users/adityaatri/Applications/hadoop-3.1.3/share/hadoop/hdfs/*:/Users/adityaatri/Applications/hadoop-3.1.3/share/hadoop/mapreduce/lib/*:/Users/adityaatri/Applications/hadoop-3.1.3/share/hadoop/mapreduce/*:/Users/adityaatri/Applications/hadoop-3.1.3/share/hadoop/yarn:/Users/adityaatri/Applications/hadoop-3.1.3/share/hadoop/yarn/lib/*:/Users/adityaatri/Applications/hadoop-3.1.3/share/hadoop/yarn/*

Copie este contenido dentro del elemento de la quinta propiedad.

Ahora no obtendrá ningún error. 🙂

Eres capaz de estimular nuestra publicación escribiendo un comentario o dejando una puntuación te damos la bienvenida.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *