2016-05-15 1 views
1

У меня есть проблема с ульем на искре, когда я бег простого запроса, какулого процесс искрового Ребенка вышел перед подключением назад

select * from table_name 

на улой консоли каждая вещь работает хорошо, но когда я выполнение

select count(*) from table_name 

запрос завершается со следующей ошибкой:

Query ID = ab_20160515134700_795fc14c-e89b-4172-bcc6-0cfcffadcd88 
Total jobs = 1 
Launching Job 1 out of 1 
In order to change the average load for a reducer (in bytes): 
    set hive.exec.reducers.bytes.per.reducer=<number> 
In order to limit the maximum number of reducers: 
    set hive.exec.reducers.max=<number> 
In order to set a constant number of reducers: 
    set mapreduce.job.reduces=<number> 
Starting Spark Job = d5e1856e-de67-4e2d-a914-ca1aae324b7f 
Status: SENT 
Failed to execute spark task, with exception 'java.lang.IllegalStateException(RPC channel is closed.)' 
FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.spark.SparkTask 

версии:

hadoop-2.7.2 
apache-hive-2.0.0 
spark-1.6.0-bin-hadoop2 
scala: 2.11.8 

Я установили: spark.master в улье-site.xml А теперь я получаю: java.util.concurrent.ExecutionException: java.lang.RuntimeException: Отмена клиента «8ffe7ea3 -aaf4-456c-ae18-23c572a766c5. Ошибка: дочерний процесс завершился перед подключением обратно на io.netty.util.concurrent.AbstractFuture.get (AbstractFuture.java:37) ~ [netty-all-4.0.23.Final.jar: 4.0.23.Final] в org. apache.hive.spark.client.SparkClientImpl. (SparkClientImpl.java:101) [hive-exec-2.0.0.jar: 2.0.0] в org.apache.hive.spark.client.SparkClientFactory.createClient (SparkClientFactory.java : 80) [hive-exec-2.0.0.jar: 2.0.0] в org.apache.hadoop.hive.ql.exec.spark.RemoteHiveSparkClient.createRemoteClient (RemoteHiveSparkClient.java:98) [hive-exec-2.0. 0.jar: 2.0.0] at org.apache.hadoop.hive.ql.exec.spark.RemoteHiveSparkClient. (RemoteHiveSparkClient.java:94) [hive-exec-2.0.0.jar: 2.0.0] в org. apache.hadoop.hive.ql.exec.spark.HiveSparkClientFactory.createHiveSparkClient (HiveSparkClientFactory.java:63) [hive-exec-2.0.0.jar: 2.0.0] в org.apache.hadoop.hive.ql.exec. spark.session.SparkSessionImpl.open (SparkSessionImpl.java:55) [hive-exec-2.0.0.jar: 2.0.0] на org.apache.hadoop.hive.ql.exec.spark.session.SparkSessionManagerImpl.getSessio n (SparkSessionManagerImpl.java:114) [hive-exec-2.0.0.jar: 2.0.0] в org.apache.hadoop.hive.ql.exec.spark.SparkUtilities.getSparkSession (SparkUtilities.java:131) [hive -exec-2.0.0.jar: 2.0.0] в org.apache.hadoop.hive.ql.exec.spark.SparkTask.execute (SparkTask.java:106) [hive-exec-2.0.0.jar: 2.0 .0] at org.apache.hadoop.hive.ql.exec.Task.executeTask (Task.java:158) [hive-exec-2.0.0.jar: 2.0.0] в org.apache.hadoop.hive. ql.exec.TaskRunner.runSequential (TaskRunner.java:101) [hive-exec-2.0.0.jar: 2.0.0] в org.apache.hadoop.hive.ql.Driver.launchTask (Driver.java:1840) [hive-exec-2.0.0.jar: 2.0.0] в org.apache.hadoop.hive.ql.Driver.execute (Driver.java:1584) [hive-exec-2.0.0.jar: 2.0.0 ] at org.apache.hadoop.hive.ql.Driver.runInternal (Driver.java:1361) [hive-exec-2.0.0.jar: 2.0.0] в org.apache.hadoop.hive.ql.Driver. run (Driver.java:1184) [hive-exec-2.0.0.jar: 2.0.0] в org.apache.hadoop.hive.ql.Driver.run (Driver.java:1172) [hive-exec-2.0 .0.jar: 2.0.0] в org.apache.hadoop.hive.cli.CliDriver.processLocalCmd (CliDriver.java:233) [hive-cli-2.0.0.jar: 2.0.0] в org.apache.hadoop.hive.cli.CliDriver.processCmd (CliDriver.java:184) [hive-cli-2.0. 0.jar: 2.0.0] at org.apache.hadoop.hive.cli.CliDriver.processLine (CliDriver.java:400) [hive-cli-2.0.0.jar: 2.0.0] на org.apache.hadoop .hi.cli.CliDriver.executeDriver (CliDriver.java:778) [hive-cli-2.0.0.jar: 2.0.0] на org.apache.hadoop.hive.cli.CliDriver.run (CliDriver.java:717) [hive-cli-2.0.0.jar: 2.0.0] в org.apache.hadoop.hive.cli.CliDriver.main (CliDriver.java:645) [hive-cli-2.0.0.jar: 2.0. 0] at sun.reflect.NativeMethodAccessorImpl.invoke0 (Нативный метод) ~ [?: 1.8.0_77] at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62) ~ [?: 1.8.0_77] при sun.reflect. DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43) ~ [?: 1.8.0_77] в java.lang.reflect.Method.invoke (Method.java:498) ~ [?: 1.8.0_77] в org.apache.hadoop. util.RunJar.run (RunJar.java:221) [spark-assembly-1.6.0-hadoop2.6.0.jar: 1.6.0] at org.apache.hadoop.util.RunJa r.main (RunJar.java:136) [spark-assembly-1.6.0-hadoop2.6.0.jar: 1.6.0] Вызвано: java.lang.RuntimeException: Отменить клиент '8ffe7ea3-aaf4-456c-ae18-23c572a766c5 ». Ошибка: дочерний процесс завершился до подключения обратно на org.apache.hive.spark.client.rpc.RpcServer.cancelClient (RpcServer.java:180) ~ [hive-exec-2.0.0.jar: 2.0.0] в org. apache.hive.spark.client.SparkClientImpl $ 3.run (SparkClientImpl.java:450) ~ [hive-exec-2.0.0.jar: 2.0.0] в java.lang.Thread.run (Thread.java:745) ~ [: 1.8.0_77] 16/05/16 18:00:33 [Driver]: WARN client.SparkClientImpl: дочерний процесс завершился с кодом 1


Я построил Спарк 1.6.1 и 2.0.0 улья поэтому ошибка была изменена:

Exception in thread "main" java.lang.NoClassDefFoundError: scala/collection/Iterable 
    at org.apache.hadoop.hive.ql.parse.spark.GenSparkProcContext.<init>(GenSparkProcContext.java:163) 
    at org.apache.hadoop.hive.ql.parse.spark.SparkCompiler.generateTaskTree(SparkCompiler.java:195) 
    at org.apache.hadoop.hive.ql.parse.TaskCompiler.compile(TaskCompiler.java:258) 
    at org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.analyzeInternal(SemanticAnalyzer.java:10861) 
    at org.apache.hadoop.hive.ql.parse.CalcitePlanner.analyzeInternal(CalcitePlanner.java:239) 
    at org.apache.hadoop.hive.ql.parse.BaseSemanticAnalyzer.analyze(BaseSemanticAnalyzer.java:250) 
    at org.apache.hadoop.hive.ql.Driver.compile(Driver.java:437) 
    at org.apache.hadoop.hive.ql.Driver.compile(Driver.java:329) 
    at org.apache.hadoop.hive.ql.Driver.compileInternal(Driver.java:1158) 
    at org.apache.hadoop.hive.ql.Driver.runInternal(Driver.java:1253) 
    at org.apache.hadoop.hive.ql.Driver.run(Driver.java:1084) 
    at org.apache.hadoop.hive.ql.Driver.run(Driver.java:1072) 
    at org.apache.hadoop.hive.cli.CliDriver.processLocalCmd(CliDriver.java:232) 
    at org.apache.hadoop.hive.cli.CliDriver.processCmd(CliDriver.java:183) 
    at org.apache.hadoop.hive.cli.CliDriver.processLine(CliDriver.java:399) 
    at org.apache.hadoop.hive.cli.CliDriver.executeDriver(CliDriver.java:776) 
    at org.apache.hadoop.hive.cli.CliDriver.run(CliDriver.java:714) 
    at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:641) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:498) 
    at org.apache.hadoop.util.RunJar.run(RunJar.java:221) 
    at org.apache.hadoop.util.RunJar.main(RunJar.java:136) 
Caused by: java.lang.ClassNotFoundException: scala.collection.Iterable 
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424) 
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357) 
+0

Можете ли вы вставить полную трассировку стека? –

+0

Это означает, что ваши файлы jar несовместимы, т. Е. Не скомпилированы с тем же кодом. пожалуйста, просмотрите ссылку, аналогичную проблему обсуждалась здесь. https://issues.apache.org/jira/browse/HIVE-9970 –

ответ

0

я пошел в тот же вопрос, как вы на улей 2.0.0 и 1.6.1 Спарк. Как было сказано ранее, это обсуждалось в issues.apache.org/jira/browse/HIVE-9970.

После сказанного, для улья:

  1. Скачать Hive источника пакета
  2. Установите правую/Свечи/версию Hadoop Тез на pom.xml
  3. Расширьте границы памяти для мавенно. Я использую export MAVEN_OPTS="-Xmx2g -XX:MaxPermSize=512M -XX:ReservedCodeCacheSize=512m"
  4. Build Hive usign Maven: mvn clean package -Pdist -DskipTests
  5. Результаты: packaging/target/apache-hive-2.x.y-bin. Настройте hive-site.xml.

Для Spark:

  1. Скачать Спарк источник пакет
  2. Установите правую версию Hadoop на pom.xml
  3. Построить Спарк без улья с помощью ./make-distribution.sh --name "hadoop2-without-hive" --tgz "-Pyarn,hadoop-provided,hadoop-2.6,parquet-provided"
  4. Результат на dist/ , Настройте spark-defaults.conf.

Поскольку вы создали Spark без Hadoop, вам нужно будет указать путь к контейнерам пакета Hadoop в $ SPARK_DIST_CLASSPATH. См. this documentation page. Кроме того, вы можете прочитать Hive on Spark guide в качестве справки.

+0

Благодарим за помощь. Я сделал то, что вы предложили, и теперь, когда я выполняю команду , выберите count (*) из table_name. Ошибка была изменена на: Исключение в потоке «main» java.lang.NoClassDefFoundError: scala/collection/Iterable –

+0

Я столкнулся с этой проблемой слишком. Удалось ли вам решить эту проблему? –

Смежные вопросы