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可以正常使用。

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

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

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

property>

    hive.exec.local.scratchdir
    /root/hive/tmp/root</value>
    Local scratch space for Hive jobs
 
总结:如果使用hive时出现如上的问题:IllegalArgumentException java.net.URISyntaxException,应该就是 hive.exec.local.scratchdir这个参数的路径配置有问题,可以仔细检查下。

你可能感兴趣的:(大数据,hadoop,hive,大数据,linux,大数据,hive+spark的使用,hive,on,spark,show,databases)