Как отладить, почему задание карты завершается сбоем после нескольких попыток

Я написал задание mapreduce для сканирования таблицы hbase за определенный период времени, чтобы подсчитать определенные элементы, необходимые для анализа.

Картографы в работе MR продолжают давать сбои, но я не знаю, почему. Кажется, что каждый раз, когда я запускаю задание, разное количество картографов терпит неудачу. Журнал YARN (см. ниже) от менеджера Cloudera не помогает указать, в чем проблема, хотя кто-то сказал, что у меня может не хватать памяти.

Кажется, он повторяет попытку несколько раз, но каждый раз это не удается. Что мне нужно сделать, чтобы он перестал давать сбои, или как я могу регистрировать события, чтобы лучше определять, что происходит?

Ниже приведен журнал от YARN для одного из неудачных картографов.

Итак, похоже, что для моего случая мне нужно было продлить настройку тайм-аута. В моей Java-программе мне пришлось добавить следующие строки, чтобы исключение исчезло:


person Classified    schedule 16.06.2017    source источник


Ответы (1)


Ответ был найден по этой ссылке на сайте Cloudera

    conf.set("hbase.rpc.timeout","90000");
    conf.set("hbase.client.scanner.timeout.period","90000");

Ошибка: org.apache.hadoop.hbase.client.RetriesExhaustedException: Ошибка после попыток = 36, исключения: четверг, 15 июня, 16:26:57 PDT 2017, null, java.net.SocketTimeoutException: callTimeout = 60000, callDuration = 60301: строка '152_p3401.db161139.sjc102.dbi_1496271480' на столе 'dbi_based_data' в области = dbi_based_data, 151_p3413.db162024.iad4.dbi_1476974340,1486675565213.d83250d0682e648d165872afe5abd60e., имя хоста = hslave35118.ams9.mysecretdomain.com, 60020,1483570489305, SEQNUM = 19308931 в org.apache.hadoop.hbase.client.RpcRetryingCallerWithReadReplicas.throwEnrichedException(RpcRetryingCallerWithReadReplicas.java:276) в org.apache.hadoop.hbase.client.ScannerCallableWithReplicas.call(ScannerCallableWithReplicas.java:207) в org.apache.hadoop.hbase. client.ScannerCallableWithReplicas.call(ScannerCallableWithReplicas.java:60) в org.apache.hadoop.hbase.client.RpcRetryingCaller.callWithoutRetries(RpcRetryingCaller.java:200) в org.apache.hadoop.hbase.client.ClientScanner. call(ClientScanner.java:320) в org.apache.hadoop.hbase.client.ClientScanner.loadCache(ClientScanner.java:403) в org.apache.hadoop.hbase.client.ClientScanner.next(ClientScanner.java:364) в org.apache.hadoop.hbase.mapreduce.TableRecordReaderImpl.nextKeyValue(TableRecordReaderImpl.java:236) в org.apache.hadoop.hbase.mapreduce.TableRecordReader.nextKeyValue(TableRecordReader.java:147) в org.apache.hadoop.hbase .mapreduce.TableInputFormatBase$1.nextKeyValue(TableInputFormatBase.java:216) в org.apache.hadoop.mapred.MapTask$NewTrackingRecordReader.nextKeyValue(MapTask.java:556) в org.apache.hadoop.mapreduce.task.MapContextImpl.nextKeyValue( MapContextImpl.java:80) в org.apache.hadoop.mapreduce.lib.map.WrappedMapper$Context.nextKeyValue(WrappedMapper.java:91) в org.apache.hadoop.mapreduce.Mapper.run(Mapper.java:144) на org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:787) на org.apache.hadoop.mapred.MapTask.run(MapTask.java:341) на org.a pache.hadoop.mapred.YarnChild$2.run(YarnChild.java:164) в java.security.AccessController.doPrivileged(собственный метод) в javax.security.auth.Subject.doAs(Subject.java:415) в org.apache .hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1693) в org.apache.hadoop.mapred.YarnChild.main(YarnChild.java:158) Причина: java.net.SocketTimeoutException: callTimeout=60000, callDuration=60301 : строка «152_p3401.db161139.sjc102.dbi_1496271480» в таблице «dbi_based_data» в регионе = dbi_based_data, 151_p3413.db162024.iad4.dbi_1476974340,1486675565258.d6eabfed83256468. , hostname=hslave35118.ams9.mysecretdomain.com,60020,1483570489305, seqNum=19308931 в org.apache.hadoop.hbase.client.RpcRetryingCaller.callWithRetries(RpcRetryingCaller.java:159) в org.apache.hadoop.hbase.client. ResultBoundedCompletionService$QueueingFuture.run(ResultBoundedCompletionService.java:65) в java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) в java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) в java .lang.Thread.run(Thread.java:745) Причина: java.io.IOException: вызов hslave35118.ams9.mysecretdomain.com/10.216.35.118:60020 завершился неудачно из-за локального исключения: org.apache.hadoop.hbase. ipc.CallTimeoutException: идентификатор вызова = 12, время ожидания = 60001, время действия = 60000 истекло. в org.apache.hadoop.hbase.ipc.AbstractRpcClient.wrapException(AbstractRpcClient.java:291) в org.apache.hadoop.hbase.ipc.RpcClientImpl.call(RpcClientImpl.java:1272) в org.apache.hadoop.hbase .ipc.AbstractRpcClient.callBlockingMethod(AbstractRpcClient.java:226) в org.apache.hadoop.hbase.ipc.AbstractRpcClient$BlockingRpcChannelImplementation.callBlockingMethod(AbstractRpcClient.java:331) в org.apache.hadoop.hbase.protobuf.generated.ClientProtos $ClientService$BlockingStub.scan(ClientProtos.java:34094) в org.apache.hadoop.hbase.client.ScannerCallable.call(ScannerCallable.java:219) в org.apache.hadoop.hbase.client.ScannerCallable.call(ScannerCallable .java:64) в org.apache.hadoop.hbase.client.RpcRetryingCaller.callWithoutRetries(RpcRetryingCaller.java:200) в org.apache.hadoop.hbase.client.ScannerCallableWithReplicas$RetryingRPC.call(ScannerCallableWithReplicas.java:360) в org.apache.hadoop.hbase.client.ScannerCallableWithReplicas$RetryingRPC.call (ScannerCallableWithReplicas.java:334) в org.apache.hadoop.hbase.client.RpcRetryingCaller.callWithRetries(RpcRetryingCaller.java:126) ... еще 4 Вызвано: org.apache.hadoop.hbase.ipc.CallTimeoutException: Call id =12, waitTime=60001, operationTimeout=60000 истек. на org.apache.hadoop.hbase.ipc.Call.checkAndSetTimeout(Call.java:73) на org.apache.hadoop.hbase.ipc.RpcClientImpl.call(RpcClientImpl.java:1246) ... еще 13

person Classified    schedule 16.06.2017