YarnException при запуске импорта Sqoop - PullRequest
0 голосов
/ 26 апреля 2019

У меня проблема с импортом таблиц через sqoop. Sqoop установлен правильно и использует правильные драйверы. Однако при попытке выполнить задание возникает ошибка YarnException.

Выполнение следующей команды для попытки импортировать таблицу.

sqoop import --connect jdbc:ingres://server:xxx/cif_db --username xxx --password xxx --table zzz -m 1 --driver com.ingres.jdbc.IngresDriver

Следующая ошибка выдается при выполнении команды импорта sqoop выше.

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/hadoop/yarn/exceptions/YarnException
        at org.apache.hadoop.mapred.YarnClientProtocolProvider.create(YarnClientProtocolProvider.java:34)
        at org.apache.hadoop.mapreduce.Cluster.initialize(Cluster.java:121)
        at org.apache.hadoop.mapreduce.Cluster.<init>(Cluster.java:108)
        at org.apache.hadoop.mapreduce.Cluster.<init>(Cluster.java:101)
        at org.apache.hadoop.mapreduce.Job$9.run(Job.java:1277)
        at org.apache.hadoop.mapreduce.Job$9.run(Job.java:1273)
        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:1671)
        at org.apache.hadoop.mapreduce.Job.connect(Job.java:1272)
        at org.apache.hadoop.mapreduce.Job.submit(Job.java:1301)
        at org.apache.hadoop.mapreduce.Job.waitForCompletion(Job.java:1325)
        at org.apache.sqoop.mapreduce.ImportJobBase.doSubmitJob(ImportJobBase.java:203)
        at org.apache.sqoop.mapreduce.ImportJobBase.runJob(ImportJobBase.java:176)
        at org.apache.sqoop.mapreduce.ImportJobBase.runImport(ImportJobBase.java:273)
        at org.apache.sqoop.manager.SqlManager.importTable(SqlManager.java:692)
        at org.apache.sqoop.tool.ImportTool.importTable(ImportTool.java:513)
        at org.apache.sqoop.tool.ImportTool.run(ImportTool.java:621)
        at org.apache.sqoop.Sqoop.run(Sqoop.java:147)
        at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70)
        at org.apache.sqoop.Sqoop.runSqoop(Sqoop.java:183)
        at org.apache.sqoop.Sqoop.runTool(Sqoop.java:234)
        at org.apache.sqoop.Sqoop.runTool(Sqoop.java:243)
        at org.apache.sqoop.Sqoop.main(Sqoop.java:252)
Caused by: java.lang.ClassNotFoundException: org.apache.hadoop.yarn.exceptions.YarnException
        at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
        ... 24 more

Я попытался перечислить таблицы в базе данных, которая была успешной, используя следующее.

sqoop list-tables --connect jdbc:ingres://server:xxx/xxx_db --username xxx --password xxx --driver com.ingres.jdbc.IngresDriver

Я также попытался включить в список потенциально отсутствующих банок следующее, но безуспешно.

sqoop import --libjars /home/xxx/hadoop-yarn-common-2.6.0-cdh5.12.1.jar --libjars /home/xxx/hadoop-yarn-api.jar --connect jdbc:ingres://server:xxx/xxx_db --username xxx --password xxx --table zzz -m 1 --driver com.ingres.jdbc.IngresDriver

Буду признателен за любые идеи или советы относительно подходов к решению.

...