如何将配置单元辅助jar添加到dataproc集群

hwamh0ep  于 2021-07-15  发布在  Hadoop
关注(0)|答案(2)|浏览(320)

当您在dataproc中启动配置单元会话时,可以添加gcs存储桶中的jar。 add jar gs://my-bucket/serde.jar; 我不想每次启动配置单元会话时都要添加所有需要的jar,所以我尝试将jar路径添加到hive.aux.jars.path属性中的hive-site.xml。

<property>
  <name>hive.aux.jars.path</name>
  <value>gs://my-bucket/serde.jar</value>
</property>

然后我在尝试启动配置单元会话时遇到这个错误。 Exception in thread "main" java.lang.IllegalArgumentException: Wrong FS: file://gs, expected: file:/// 有没有办法将gcs存储桶中的自定义jar添加到配置单元类路径中,或者每次创建dataproc集群时都必须从存储桶中复制jar并更新hive.aux.jars.path?

  • 编辑

即使添加了下面的属性并重新启动配置单元,我仍然会得到相同的错误。

<property>
    <name>hive.exim.uri.scheme.whitelist</name>
    <value>hdfs,pfile,gs</value>
    <final>false</final>
  </property>
ldxq2e6h

ldxq2e6h1#

我想你还需要设置属性 hive.exim.uri.scheme.whitelist 将gcs uri列入白名单。
因此,在您的示例中,在创建dataproc集群时,设置属性

hive.aux.jars.path = gs://my-bucket/serde.jar
hive.exim.uri.scheme.whitelist = hdfs,pfile,gs
jqjz2hbq

jqjz2hbq2#

这是一个已知的Hive虫(hive-18871)—— hive.aux.jars.path 在hive 3.1及更低版本中仅支持本地路径。
解决方法是使用dataproc初始化操作,将jar从gcs复制到所有dataproc集群节点上的同一本地fs路径,并将此本地路径指定为 hive.aux.jars.path 财产。

相关问题