Ошибка при запуске программы MapReduce с HCatalog на подчиненном узле

Я написал программу MR для чтения CSV-файла и сохранения данных в многораздельной таблице кустов. Я использую HCatalog для создания раздела в таблице. Программа успешно скомпилирована. Я установил все необходимые банки в classpath по этой ссылке:

https://cwiki.apache.org/confluence/display/Hive/HCatalog+InputOutput

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

2017-12-05 13: 39: 44,572 ИНФОРМАЦИЯ [main] org.apache.hadoop.mapreduce.v2.app.MRAppMaster: Создан MRAppMaster для приложения appattempt_1506836130026_243283_000002 2017-12-05 13: 39: 47,946 ИНФОРМАЦИЯ [main] org.apache.hadoop.mapreduce.v2.app.MRAppMaster: Выполнение с токенами: 2017-12-05 13:39:47,946 INFO [main] org.apache.hadoop.mapreduce.v2.app.MRAppMaster: Вид: YARN_AM_RM_TOKEN, Сервис:, Идентификатор: (org.apache.hadoop.yarn.security.AMRMTokenIdentifier@8a7b551) 2017-12-05 13:39:48,193 WARN [main] org.apache.hadoop.security.token.Token: не удается найти класс для вида токена HIVE_DELEGATION_TOKEN 2017-12-05 13:39:48,193 ПРЕДУПРЕЖДЕНИЕ [main] org.apache.hadoop.security.token.Token: невозможно найти класс для вида токена HIVE_DELEGATION_TOKEN Вид: HIVE_DELEGATION_TOKEN, Сервис: staging_ga_gbr.dsl_wblinkage/load_month=12/load_year= 12, Идентификатор: 00 13 42 68 61 72 61 74 69 53 40 44 4e 42 49 4e 54 2e 4e 45 54 08 62 68 61 72 61 74 69 73 00 8a 01 60 27 f8 b1 51 8a 01 60 4c 05 35 51 8e 01 d4 07 2017-12-05 13:39:48,193 INFO [май n] org.apache.hadoop.mapreduce.v2.app.MRAppMaster: Вид: HDFS_DELEGATION_TOKEN, Сервис: ha-hdfs:nameservice1, Идентификатор: (токен для bharatis: HDFS_DELEGATION_TOKEN owner=BharatiS@DNBINT.NET, realU =yser=, issueDate=1512499098464, maxDate=1513103898464, sequenceNumber=2139687, masterKeyId=1481) 2017-12-05 13:39:48,400 INFO [main] org.apache.hadoop.mapreduce.v2.app.MRAppMaster: использование mapred newApiCommitter. 2017-12-05 13:39:53,279 WARN [main] org.apache.hadoop.util.NativeCodeLoader: невозможно загрузить библиотеку native-hadoop для вашей платформы... с использованием встроенных классов java, где это применимо 2017-12-05 13:39:54,246 INFO [main] org.apache.hadoop.mapreduce.v2.app.MRAppMaster: OutputCommitter установлен в config null 2017-12-05 13:39:54,634 INFO [main] org.apache.hadoop.service.AbstractService: Сбой службы org.apache.hadoop.mapreduce.v2.app.MRAppMaster в состоянии INITED; причина: org.apache.hadoop.yarn.exceptions.YarnRuntimeException: java.lang.RuntimeException: java.lang.ClassNotFoundException: класс org.apache.hive.hcatalog.mapreduce.HCatOutputFormat не найден org.apache.hadoop.yarnception.ex YarnRuntimeException: java.lang.RuntimeException: java.lang.ClassNotFoundException: Класс org.apache.hive.hcatalog.mapreduce.HCatOutputFormat не найден в org.apache.hadoop.mapreduce.v2.app.MRAppMaster$1.call(MALLjRA $: 490) в org.apache.hadoop.mapreduce.v2.app.MRAppMaster$1.call(MRAppMaster.java:470) в org.apache.hadoop.mapreduce.v2.app.MRAppMaster.callWithJobClassLoader(MRAppMaster.java:1581 at) org.apache.hadoop.mapreduce.v2.app.MRAppMaster.createOutputCommitter(MRAppMaster.java:470) в org.apache.hadoop.mapreduce.v2.app.MRAppMaster.serviceInit(MRAppMaster.java:392) в org.ache.hadoop.service.AbstractService.init(AbstractService.java:163) в org.apache.hadoop.mapreduce.v2.app.MRAppMaster$4.run(MRAppMaster.java:1539) в java.security.AccessController.doPrivileged(собственный метод) в javax.security.auth.Subject.doAs(Subject.java:415) в org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1709) в org.apache.hadoop.mapreduce.v2.app.MRAppMaster.initAndStartAppMaster(MRAppMaster.java:1536) в org.apache.hadoop.mapreduce.v2.app.MRAppMaster.main(MRAppMaster.java:1469). Причина: java.lang.RuntimeException: java.lang. ClassNotFoundException: класс org.apache.hive.hcatalog.mapreduce.HCatOutputFormat не найден в org.apache.hadoop.conf.Configuration.getClass(Configuration.java:2199) в org.apache.hadoop.mapreduce.task.JobContextImpl. JobContextImpl.java:232) at org.apache.hadoop.mapreduce.v2.app.MRAppMaster$1.call(MRAppMaster.java:486) ... еще 11 причин: java.lang.ClassNotFoundException: класс org.apache.hive.hcatalog.mapreduce.HCatOutputFormat не найден в org.apache.hadoop.conf.Configuration.getClassByName(Configuration.java:2105) в org.apache.hadoop.conf.Configuration.getClass(Configuration.java:2197)

В соответствии с ошибкой, мое понимание говорит, что он не может найти требуемый hcatalog jar на подчиненном узле. Но мне нужно установить classpath на всех подчиненных узлах? Если да, то как мы это сделаем. Есть ли другие решения?

0 ответов

Другие вопросы по тегам