2013-02-27 2 views
0

Мои задания имеют некоторое исключение перед шагами уменьшения карты, но рабочие места не убиваются. Как настроить hadoop таким образом, чтобы рабочие места были убиты после исключения?Рабочие места Hadoop не убиты

Вызов главного класса в настоящее время

Сердце бить Сердце бить

Призывание главного класса завершенного

Oozie Launcher заканчивается

Stderr журналы

org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection; nested exception is org.apache.commons.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory (Io exception: Unknown host specified) 
    at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:82) 
    at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:577) 
    at org.springframework.jdbc.core.JdbcTemplate.update(JdbcTemplate.java:792) 
    at org.springframework.jdbc.core.JdbcTemplate.update(JdbcTemplate.java:815) 
    at com.seven.crcs.export.dao.ReportDAOImpl.recreateReportEntity(ReportDAOImpl.java:151) 
    at com.seven.crcs.export.dao.ReportDAOImpl.saveActiveUserCount(ReportDAOImpl.java:93) 
    at com.seven.crcs.export.ReportJdbcExporter.saveActiveUserCount(ReportJdbcExporter.java:55) 
    at com.seven.dataprocessor.oc.jobs.reports.export.day.ExportDailyUserReducer.exportUserCounts(ExportDailyUserReducer.java:32) 
    at com.seven.dataprocessor.oc.jobs.reports.export.ExportActiveUser 
org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection; nested exception is org.apache.commons.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory (Io exception: Unknown host specified) 

И

2013-02-28 06:06:46,487 INFO org.apache.hadoop.mapred.JobClient: Task Id : attempt_201302270945_0181_r_000000_0, Status : FAILED 
2013-02-28 06:07:00,600 INFO org.apache.hadoop.mapred.JobClient: Task Id : attempt_201302270945_0181_r_000000_1, Status : FAILED 
2013-02-28 06:07:16,650 INFO org.apache.hadoop.mapred.JobClient: Task Id : attempt_201302270945_0181_r_000000_2, Status : FAILED 
2013-02-28 06:07:31,731 INFO org.apache.hadoop.mapred.JobClient: Job complete: job_201302270945_0181 

Но работа полный SUCCEEDED

+0

показать данные об исключении –

ответ

0

Ваша работа была фактически прекращена, но только после того, как 3 неудачных попыток на задачу карты, так как идентификаторы задач показывают:

  • attempt_201302270945_0181_r_000000_
  • попытка_201302270945_0181_r_000000_
  • attemp t_201302270945_0181_r_000000_

Вы можете ограничить количество максимального количества попыток для каждой задачи, либо путем установки parametermapred.map.max.attempts к 1 или с помощью JobConf#setMaxMapAttempts(int)JobConf#setMaxMapAttempts.

Это приведет к сбою вашей задачи карты в первом исключении и, таким образом, прекратит вашу работу немного быстрее.

+0

Я установил эти параметры, но мои задания не записывают исключение и завершаются успешно. – vaifer

+0

Попробуйте установить макс. процент неудачной карты и уменьшить задачи до 0: 'jobConf.setMaxMapTaskFailuresPercent (0)' и 'jobConf.setMaxReduceTaskFailuresPercent (0)'. Согласно [JavaDoc] (http://hadoop.apache.org/docs/current/api/org/apache/hadoop/mapred/JobConf.html#setMaxMapTaskFailuresPercent (int)), он должен немедленно пометить задание как сбой на первая неудачная карта или сокращение задачи. – harpun

+0

Я не использую класс JobConf, я использую класс Job. – vaifer