hive on tez не поддерживает федерацию hdfs

Улей версия apache hive-2.1.0Тез-версия Apache tez-0.8.4я поставил tez.lib.uris=viewfs://nsX/nameservice/hive/lib/tez-0.8.4-zdh7.1.1-SNAPSHOT-minimal.tar.gz

когда я запускаю тез на улей, всегда возникает проблема

  2017-03-23T15:26:24,255 INFO  client.TezClientUtils (:()) - Using   tez.lib.uris value from configuration: viewfs://nsX/nameservice/hive/lib/tez-0.8.4-zdh7.1.1-SNAPSHOT-minimal.tar.gz
  2017-03-23T15:26:24,255 INFO  client.TezClientUtils (:()) - Using tez.lib.uris.classpath value from configuration: $HADOOP_CONF_DIR,/opt/ZDH/parcels/lib/hadoop/*,/opt/ZDH/parcels/lib/hadoop/lib/*,/opt/ZDH/parcels/lib/hadoop-hdfs/*,/opt/ZDH/parcels/lib/hadoop-hdfs/lib/*,/opt/ZDH/parcels/lib/hadoop-yarn/*,/opt/ZDH/parcels/lib/hadoop-yarn/lib/*,/opt/ZDH/parcels/lib/hadoop-mapreduce/*,/opt/ZDH/parcels/lib/hadoop-mapreduce/lib/*,/opt/ZDH/parcels/lib/tez/*,/opt/ZDH/parcels/lib/tez/lib/*
  2017-03-23T15:26:24,260 ERROR exec.Task (:()) - Failed to execute tez graph.
java.io.FileNotFoundException: /hive
    at org.apache.hadoop.fs.viewfs.InodeTree.resolve(InodeTree.java:402)
    at org.apache.hadoop.fs.viewfs.ViewFileSystem.getFileStatus(ViewFileSystem.java:377)
    at org.apache.tez.client.TezClientUtils.checkAncestorPermissionsForAllUsers(TezClientUtils.java:1031)
    at org.apache.tez.client.TezClientUtils.addLocalResources(TezClientUtils.java:275)
    at org.apache.tez.client.TezClientUtils.setupTezJarsLocalResources(TezClientUtils.java:183)
    at org.apache.tez.client.TezClient.getTezJarResources(TezClient.java:1057)
    at org.apache.tez.client.TezClient.start(TezClient.java:447)
    at org.apache.hadoop.hive.ql.exec.tez.TezSessionState.startSessionAndContainers(TezSessionState.java:390)
    at org.apache.hadoop.hive.ql.exec.tez.TezSessionState.openInternal(TezSessionState.java:320)
    at org.apache.hadoop.hive.ql.exec.tez.TezSessionPoolManager$TezSessionPoolSession.openInternal(TezSessionPoolManager.java:611)
    at org.apache.hadoop.hive.ql.exec.tez.TezSessionState.open(TezSessionState.java:203)
    at org.apache.hadoop.hive.ql.exec.tez.TezTask.updateSession(TezTask.java:277)
    at org.apache.hadoop.hive.ql.exec.tez.TezTask.execute(TezTask.java:155)
    at org.apache.hadoop.hive.ql.exec.Task.executeTask(Task.java:197)
    at org.apache.hadoop.hive.ql.exec.TaskRunner.runSequential(TaskRunner.java:100)
    at org.apache.hadoop.hive.ql.Driver.launchTask(Driver.java:1917)
    at org.apache.hadoop.hive.ql.Driver.execute(Driver.java:1586)
    at org.apache.hadoop.hive.ql.Driver.runInternal(Driver.java:1331)
    at org.apache.hadoop.hive.ql.Driver.run(Driver.java:1092)
    at org.apache.hadoop.hive.ql.Driver.run(Driver.java:1080)
    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:57)
    at    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)

1 ответ

По вашей ошибке, это что-то вроде движка tez, который не может найти файл куста.

В качестве альтернативы, вы можете сделать одну вещь, войти в оболочку hive и здесь установить механизм выполнения в tez, а затем запустить запросы внутри оболочки hive, которые, в свою очередь, будут выполняться на ядре tez.

set hive.execution.engine=tez;

Вы можете обратиться к этой ссылке для получения дополнительной информации об интеграции Tez с Hadoop.

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