2013-09-23 1 views
0

J'ai une question à propos de travail hadoop mapreduce. J'ai un personnel de table, partitionné par date de jointure. Créer une instruction comme celle-ci:hadoop carte réduire travail en attente trop longtemps

create table personnel (id int, age int) partitionné par (join_date string) champs délimités au format de ligne terminés par '\;';

Je mis des données à parition « 20130921 » puis quand j'exécute ci-dessous de l'instruction, le résultat est ok:

select count(*) from staff where join_date='20130921';** 

Mais quand j'Executer sur la partition « 20130922 » (partition sans données), la carte réduire l'emploi est en attente trop long, sembler est toujours courir:

hive> select count(*) from staff where join_date='20130922';** 

Total MapReduce jobs = 1** 

Launching Job 1 out of 1** 

**Number of reduce tasks determined at compile time: 1** 

**In order to change the average load for a reducer (in bytes):** 

    set hive.exec.reducers.bytes.per.reducer=<number>** 

**In order to limit the maximum number of reducers:** 

    set hive.exec.reducers.max=<number>** 

**In order to set a constant number of reducers:** 

    set mapred.reduce.tasks=<number>** 

**Starting Job** = `job_201309231116_0131, Tracking URL = ....jobid=job_201309231116_0131` 

**Kill Command** = `/u01/hadoop-0.20.203.0/bin/../bin/hadoop job -kill job_201309231116_0131` 

Hadoop job information for Stage-1: number of mappers: 0; number of reducers: 1 
2013-09-23 17:19:07,182 Stage-1 map = 0%, reduce = 0% 
2013-09-23 17:19:07,182 Stage-1 map = 0%, reduce = 0% 
2013-09-23 17:19:07,182 Stage-1 map = 0%, reduce = 0% 

Le spectacle de JobTracker réduire tâche en attente et ce travail ne semblent comme peut fini.

Im utilisant hadoop-0,20.203.0 et hive-0.10.0. J'ai googlé toute la journée mais je n'ai trouvé aucun sujet ayant le même problème, aidez-moi s'il vous plaît.

Cordialement.

+0

Avez-vous trouvé quelque chose d'intéressant dans les journaux TaskTracker? – Tariq

+0

Je trace le journal de jobtracker, tasktracker, le journal des travaux, mais n'a pas trouvé de journal d'avertissement ou d'erreur. Je teste 'select count (*)' déclaration avec la table n'utilisant pas la partition et le résultat est le même, la carte réduit le travail ne peut pas finir. J'ai essayé d'utiliser la propriété 'mapreduce.task.timeout' mais hadoop ne tue pas le travail. – user2806318

Répondre

0

Cela semble être un problème avec votre installation Hive. Je suis tombé sur un problème similaire. Vous pouvez essayer de redémarrer Hive Server et Hive Metastore. Cela a réglé mon problème.

+0

Après avoir mis à jour hadoop 1.2.1, le problème est parti. Je pense que c'est un bug de la version hadoop plus ancienne. Merci pour la réponse :) – user2806318

Questions connexes