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:
-
mapreduce.framework.name
yarn -
yarn.app.mapreduce.am.env
HADOOP_MAPRED_HOME=/Users/adityaatri/Applications/hadoop-3.1.3 -
mapreduce.map.env
HADOOP_MAPRED_HOME=/Users/adityaatri/Applications/hadoop-3.1.3 -
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:
mapreduce.application.classpath
los
el elemento debe llenarse con contenido después de ejecutar los siguientes comandos en su terminal:
-
export HADOOP_CLASSPATH=$(hadoop classpath)
-
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.