hive on spark 出现的FAILED: IllegalArgumentException java.net.URISyntaxException问题

今天在整合hive on spark的时候,出现一个小的问题,进行命令:show databases或者show tables时出现如下问题,

FAILED: IllegalArgumentException java.net.URISyntaxException: Relative path in absolute URI: file:./$/root/hive/tmp/root/ed57815b-1c57-4ae4-97e4-ddd0e7302ea8/hive_2018-06-07_15-07-04_001_8340898723831414051-1

如图所示:


显示是URI的问题,于是我就验证hive+spark能不能运行,结果发现可以正常运行,就是show databases,show tables运行就报错,肯定问题是出在hive-site.xml这个文件的配置中了,于是按照错误的提示。找到这个目录/root/hive/tmp在hive-site.xml中的位置,结果发现,在替换${system:java.io.tmpdir}为自己创建的目录:/root/hive/tmp时 和 ${system:user.name}改为用户:root时,替换除了问题,替换没有完全替换干净,$这个符号没有替换,导致出错,将$删除,重新启动hive,命令:show databases,show tables可以正常使用。

没有替换干净:错误的配置,路径为自己创建的

<property>

    <name>hive.exec.local.scratchdir</name>
    <value>$/root/hive/tmp/root</value>
    <description>Local scratch space for Hive jobs</description>
  </property>

替换干净:正确的配置,路径为自己创建的

property>

扫描二维码关注公众号,回复: 3467975 查看本文章
    <name>hive.exec.local.scratchdir</name>
    <value>/root/hive/tmp/root</value>
    <description>Local scratch space for Hive jobs</description>
  </property>
总结:如果使用hive时出现如上的问题:IllegalArgumentException java.net.URISyntaxException,应该就是 hive.exec.local.scratchdir这个参数的路径配置有问题,可以仔细检查下。

猜你喜欢

转载自blog.csdn.net/qq_15508167/article/details/80610750