1

我在 EMR 5.19.0 集群上安装了 Alluxio 1.8,并且可以使用/usr/local/alluxio/bin/alluxio fs ls /.

但是,当我启动 hive 和 issue 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.jarhdfs上的jar和jar的副本来启动hive,但没有任何成功。

有什么帮助吗?

4

1 回答 1

1

我发布了一篇博客,讨论了错误消息的原因java.lang.ClassNotFoundException: Class alluxio.hadoop.FileSystem not found。以下是一些提示,希望对您有所帮助:

  • 对于 Hive,HIVE_AUX_JARS_PATH在以下位置设置环境变量conf/hive-env.sh
export HIVE_AUX_JARS_PATH=/<PATH_TO_ALLUXIO>/client/alluxio-1.8.1-client.jar:${HIVE_AUX_JARS_PATH}

我猜这相当于你对 set 所做的事情--auxpath

  • 根据您的 Hive 设置(例如,MR 或 Spark 或 Tez 上的 Hive),您可能还需要确保运行时也能够访问客户端 jar。以 Hive on MR 为例,您可能还需要将 Alluxio 客户端 jar 的路径附加到mapreduce.application.classpathyarn.application.classpath确保 MR 作业的每个任务都可以访问此 jar。
于 2018-12-11T04:10:53.017 回答