Hadoop MapReduce не будет запускать первый Mapper - PullRequest
0 голосов
/ 30 января 2012

Если я запускаю задачу MapReduce в моем кластере CDH3, которая инициализирует более одного Mapper, первый Mapper никогда не завершится.Я не могу найти ошибку ни в одном из моих файлов журнала.Единственные релевантные журналы, которые я получаю, это:

Task xxx failed to report status for 1800 seconds. Killing!

после того, как несколько задач будут убиты, работа завершается сбоем и выдает это исключение:

2012-01-30 11:30:00,998 ERROR server jobsubd PlanRunner saw exception. Traceback (most recent call last): File "/usr/share/hue/apps/jobsub/src/jobsub/server.py", line 160, in run self.run_bin_hadoop_step(step.bin_hadoop_step) File "/usr/share/hue/apps/jobsub/src/jobsub/server.py", line 292, in run_bin_hadoop_step raise Exception("bin/hadoop returned non-zero %d" % retcode) Exception: bin/hadoop returned non-zero 1 2012-01-30 11:30:01,027 INFO server Marked jobsubd job 130 as done.

Может кто-нибудь дать мне несколько советов о том, где искать возможное решение.

Спасибо!

A Mapper:

@Override
public void map(LongWritable offset, Text line, Context context)
            throws IOException {
    try {
            DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
            DocumentBuilder builder = factory.newDocumentBuilder();
            Document xml = builder.parse(new ByteArrayInputStream(line.getBytes()));

            Node root = xml.getFirstChild();
            NodeList nodes = root.getChildNodes();

            for (int indexElement = 0; indexElement < nodes.getLength(); indexElement++) {
                Element element = (Element) nodes.item(indexElement);
                Put put = new Put(Bytes.toBytes(indexElement));

                if (element.hasAttributes()) {
                    NamedNodeMap attributes = element.getAttributes();
                    for (int indexAttribute = 0; indexAttribute < attributes
                            .getLength(); indexAttribute++) {
                        Attr attribuut = (Attr) attributes.item(indexAttribute);
                        put.add(Bytes.toBytes("attributes"),
                                Bytes.toBytes(attribuut.getNodeName()),
                                Bytes.toBytes(attribuut.getNodeValue()));
                    }
                }
                if (element.getNodeValue() != null) {
                    put.add(Bytes.toBytes("value"), Bytes.toBytes(element.getNodeName()), Bytes.toBytes(element.getNodeValue()));
                }
                context.write(new ImmutableBytesWritable() , put);
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

Входные данные представляют собой файл XML,Другие Mappers, например импортер JSON, имеют ту же проблему.

...