tutorial start quick maquina manager cursos hadoop cloudera

hadoop - maquina - quick start cloudera



Ejecución de una muestra de Wordcount utilizando MRV1 en la máquina virtual CDH4.0.1 (2)

Descargué la VM de https://downloads.cloudera.com/demo_vm/vmware/cloudera-demo-vm-cdh4.0.0-vmware.tar.gz

Descubrí que los servicios enumerados a continuación se ejecutan después de que se inicia el sistema.

  • Servicios MRV1

hadoop-0.20-mapreduce-jobtracker
hadoop-0.20-mapreduce-tasktracker

  • Servicios MRV2

hadoop-hilo-nodoadministrador
hadoop-hilo-gestor de recursos
hadoop-mapreduce-historyserver

  • Servicios HDFS

hadoop-hdfs-namenode
hadoop-hdfs-datanode

El ejemplo de conteo de palabras funciona bien y genera la salida como se esperaba

/usr/bin/hadoop jar /usr/lib/hadoop-mapreduce/hadoop-mapreduce-examples.jar wordcount input output

Sin embargo, lo anterior funciona usando el marco MRv2 - YARN

Mi objetivo es correr usando MRv1. Como se sugiere en la documentación de Cloudera, detengo los servicios de MRV2 y edito /etc/hadoop/conf/mapred-site.xml

<property> <name>mapreduce.framework.name</name> <value>yarn</value> </property

a "clásico" (también probado "local")

<property> <name>mapreduce.framework.name</name> <value>classic</value> </property

Esperaba que se ejecutara usando MRV1 (jobtracker y tasktracker). Sin embargo, veo el siguiente error:

12/10/10 21:48:39 INFO mapreduce.Cluster: Failed to use org.apache.hadoop.mapred.LocalClientProtocolProvider due to error: Invalid "mapreduce.jobtracker.address" configuration value for LocalJobRunner : "172.30.5.21:8021" 12/10/10 21:48:39 ERROR security.UserGroupInformation: PriviledgedActionException as:cloudera (auth:SIMPLE) cause:java.io.IOException: Cannot initialize Cluster. Please check your configuration for mapreduce.framework.name and the correspond server addresses. java.io.IOException: Cannot initialize Cluster. Please check your configuration for mapreduce.framework.name and the correspond server addresses. at org.apache.hadoop.mapreduce.Cluster.initialize(Cluster.java:121) at org.apache.hadoop.mapreduce.Cluster.<init>(Cluster.java:83) ......

¿Puede alguien sugerir qué podría estar mal? ¿Por qué el error apunta a una configuración no válida?


Creo que su clúster aún apunta al directorio de configuración MRv2 en lugar de a MRv1.

Actualice / instale la hadoop-conf en cada nodo del clúster que apunta al directorio de configuración de MRv1 con alta prioridad.

Luego reinicia todos tus servicios.

P.ej:

$ sudo update-alternatives --install /etc/hadoop/conf hadoop-conf /etc/hadoop/conf.mrv1 50 $ sudo update-alternatives --set hadoop-conf /etc/hadoop/conf.mrv1


La siguiente respuesta no es mía, sino OP, que fue publicada en la pregunta misma.

Me había perdido una cosa que causó el fracaso anterior. Asegúrese de que en hadoop-env.sh cambie "exportar HADOOP_MAPRED_HOME = / usr / lib / hadoop-mapreduce" a "exportar HADOOP_MAPRED_HOME = / usr / lib / hadoop-0.20-mapreduce".

El error fue un poco engañoso. Además, había exportado la variable en shell, pero esta la reemplaza, creo (necesita verificación).