电子病历上的alluxio+hive

jjhzyzn0  于 2021-06-27  发布在  Hive
关注(0)|答案(1)|浏览(373)

我已经在EMR5.19.0集群上安装了Alluxio1.8,并且可以使用 /usr/local/alluxio/bin/alluxio fs ls / .
但是,当我启动Hive并发布 hive> [[DDL w/ LOCATION = alluxio://master_host:19998/my_table ]]] ,我得到以下结果: FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. MetaException(message:java.lang.RuntimeException: java.lang.ClassNotFoundException: Class alluxio.hadoop.FileSystem not found 有没有办法克服这个问题?我试过用 --auxpath 指向两者 /usr/local/alluxio/client/alluxio-1.8.1-client.jar 在hdfs上复制jar却没有成功。
有什么帮助吗?

pb3skfrl

pb3skfrl1#

我发表了一篇博客,讨论了错误消息的原因 java.lang.ClassNotFoundException: Class alluxio.hadoop.FileSystem not found . 以下是一些小贴士,希望能有所帮助:
对于配置单元,设置环境变量 HIVE_AUX_JARS_PATHconf/hive-env.sh :

export HIVE_AUX_JARS_PATH=/<PATH_TO_ALLUXIO>/client/alluxio-1.8.1-client.jar:${HIVE_AUX_JARS_PATH}

我想这相当于你所做的设置 --auxpath .
根据配置单元的设置(例如mr、spark或tez上的配置单元),您可能还需要确保运行时也能够访问客户机jar。以mr上的hive为例,您可能还需要将alluxio客户机jar的路径附加到 mapreduce.application.classpath 或者 yarn.application.classpath 以确保乔布斯先生的每个任务都能访问这个jar。

相关问题