Периодические ошибки тайм-аута DSE Hadoop во время чтения

У меня странная ошибка, которая начала происходить несколько недель назад. Нам пришлось заменить несколько аналитических узлов, и ни одно из заданий хаупа, вызванных ульем, не может завершиться. Они вылетают на разных этапах с одинаковой ошибкой:

com.datastax.driver.core.exceptions.NoHostAvailableException: All host(s) tried for query failed (tried: ip-x-x-x-x.ec2.internal/x.x.x.x:9042 (com.datastax.driver.core.exceptions.DriverException: Timeout during read))
    at com.datastax.driver.core.exceptions.NoHostAvailableException.copy(NoHostAvailableException.java:65)
    at com.datastax.driver.core.DefaultResultSetFuture.extractCauseFromExecutionException(DefaultResultSetFuture.java:256)
    at com.datastax.driver.core.ArrayBackedResultSet$MultiPage.prepareNextRow(ArrayBackedResultSet.java:259)
    at com.datastax.driver.core.ArrayBackedResultSet$MultiPage.isExhausted(ArrayBackedResultSet.java:222)
    at com.datastax.driver.core.ArrayBackedResultSet$1.hasNext(ArrayBackedResultSet.java:115)
    at org.apache.cassandra.hadoop.cql3.CqlRecordReader$RowIterator.computeNext(CqlRecordReader.java:239)
    at org.apache.cassandra.hadoop.cql3.CqlRecordReader$RowIterator.computeNext(CqlRecordReader.java:218)
    at com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:143)
    at com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:138)
    at org.apache.cassandra.hadoop.cql3.CqlRecordReader.getProgress(CqlRecordReader.java:152)
    at org.apache.hadoop.hive.cassandra.cql3.input.CqlHiveRecordReader.getProgress(CqlHiveRecordReader.java:62)
    at org.apache.hadoop.hive.ql.io.HiveRecordReader.getProgress(HiveRecordReader.java:71)
    at org.apache.hadoop.mapred.MapTask$TrackedRecordReader.getProgress(MapTask.java:260)
    at org.apache.hadoop.mapred.MapTask$TrackedRecordReader.moveToNext(MapTask.java:233)
    at org.apache.hadoop.mapred.MapTask$TrackedRecordReader.next(MapTask.java:216)
    at org.apache.hadoop.mapred.MapRunner.run(MapRunner.java:48)
    at org.apache.hadoop.mapred.MapTask.runOldMapper(MapTask.java:436)
    at org.apache.hadoop.mapred.MapTask.run(MapTask.java:372)
    at org.apache.hadoop.mapred.Child$4.run(Child.java:266)
    at java.security.AccessController.doPrivileged(Native Method)
    at javax.security.auth.Subject.doAs(Subject.java:415)
    at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1121)
    at org.apache.hadoop.mapred.Child.main(Child.java:260)
Caused by: com.datastax.driver.core.exceptions.NoHostAvailableException: All host(s) tried for query failed (tried: ip-x-x-x-x.ec2.internal/x.x.x.x:9042 (com.datastax.driver.core.exceptions.DriverException: Timeout during read))
    at com.datastax.driver.core.RequestHandler.sendRequest(RequestHandler.java:103)
    at com.datastax.driver.core.RequestHandler$1.run(RequestHandler.java:175)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at java.lang.Thread.run(Thread.java:744)

Я включил ведение журнала отладки, но так и не смог найти ничего, что происходило в это время.

Спасибо!


person Roman Tumaykin    schedule 24.10.2014    source источник
comment
Не могли бы вы рассказать, как вы заменили узлы? Что с ними случилось? В частности: Вы списали их?   -  person mildewey    schedule 03.12.2014
comment
Кроме того, можете ли вы получить доступ к данным о них с помощью простых запросов cql?   -  person mildewey    schedule 03.12.2014
comment
Наконец, можете ли вы проверить, совпадают ли версии DSE каждого узла?   -  person mildewey    schedule 03.12.2014
comment
Приношу свои извинения за то, что не вернулся к этому вопросу. Компания, в которой я работал, прекратила свою деятельность в ноябре, но незадолго до этого я разобрался с проблемой, но не обновлял ее здесь из-за всей этой истории с компанией. Оказалось, что приложение записывало огромное количество данных в столбец карты, что приводило к таймаутам при чтении. Поскольку в журнале не было описательных ошибок, было трудно сузить круг до этой причины.   -  person Roman Tumaykin    schedule 23.01.2015


Ответы (1)


Собственно, проблема была в огромном количестве данных, записываемых приложением в одну из колонок карты. Это просто совпадает с обновлением кластера. Задания куста просто зависали, и было вводящее в заблуждение сообщение об ошибке. Методом проб и ошибок мне удалось сузить проблему до этого столбца карты и удалить неверные данные.

person Roman Tumaykin    schedule 22.01.2015