Red de conocimientos turísticos - Conocimientos sobre calendario chino - Acerca de los problemas de ejecución de Hadoop distribuido en WINDOWS

Acerca de los problemas de ejecución de Hadoop distribuido en WINDOWS

Si inicia el programa mapreduc directamente en el proyecto Windows Eclipse, debe copiar todo el xml en el directorio de configuración del clúster hadoop al directorio src, para que el programa pueda leer automáticamente la dirección del clúster y luego ingresar a la operación distribuida (también puede escriba el código java usted mismo para establecer las propiedades de configuración del trabajo).

Si no lo copia y no tiene el archivo de configuración xml completo en el directorio bin del proyecto, todos los programas mapreduce ejecutados en Windows se ejecutarán a través del jvm local y el nombre del trabajo estar con " Trabajos con la palabra "local", como job_local2062122004_0001. Esta no es realmente una ejecución distribuida de mapreduce. Esta no es una ejecución verdaderamente distribuida del programa mapreduce.

Supongo que tenemos que estudiar el código fuente de org.apache.hadoop.conf. La configuración, de todos modos, el archivo de configuración xml afecta si el sistema de archivos para ejecutar mapreduce es el sistema de archivos local de Windows o el sistema hdfs remoto. También afecta si el asignador y reductor para ejecutar mapreduce es el jvm local o el jvm dentro de la máquina del clúster;

Conclusión de este artículo

El primer punto es: al ejecutar mapreduce en Windows, el paquete jar debe reproducirse en todos los nodos esclavos para poder ejecutar correctamente el programa mapreduce de manera distribuida. . (Necesito activar la operación distribuida mapreduce en Windows)

El segundo punto es: en Linux, simplemente copie el archivo jar al nodo maestro del clúster y ejecute el comando hadoop jarPackage.jar MainClassName para ejecutar el programa mapreduce distribuido .

en org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:721)

en org.apache.hadoop.mapred.MapTask.run(MapTask.java. 339)

en org.apache.hadoop.mapred.MapTask.run(MapTask.java. 339)

en org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask. java:721)

erved.