您的位置:首页 > 编程语言 > Java开发

hive启动移除 java.lang.RuntimeException: java.lang.IllegalArgumentException: java.net.URISyntaxException

2016-05-27 14:14 567 查看
Exception in thread "main" java.lang.RuntimeException:
java.lang.IllegalArgumentException: java.net.URISyntaxException: Relative path in absolute URI: ${system:java.io.tmpdir%7D/$%7Bsystem:user.name%7D

at org.apache.hadoop.hive.ql.session.SessionState.start(SessionState.java:444)

at org.apache.hadoop.hive.cli.CliDriver.run(CliDriver.java:672)

at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:616)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.lang.reflect.Method.invoke(Method.java:606)

at org.apache.hadoop.util.RunJar.main(RunJar.java:160)

Caused by: java.lang.IllegalArgumentException: java.net.URISyntaxException:
Relative path in absolute URI: ${system:java.io.tmpdir%7D/$%7Bsystem:user.name%7D

at org.apache.hadoop.fs.Path.initialize(Path.java:148)

at org.apache.hadoop.fs.Path.<init>(Path.java:126)

at org.apache.hadoop.hive.ql.session.SessionState.createSessionDirs(SessionState.java:487)

at org.apache.hadoop.hive.ql.session.SessionState.start(SessionState.java:430)

... 7 more

Caused by: java.net.URISyntaxException: Relative path in
absolute URI: ${system:java.io.tmpdir%7D/$%7Bsystem:user.name%7D

at java.net.URI.checkPath(URI.java:1804)

at java.net.URI.<init>(URI.java:752)

at org.apache.hadoop.fs.Path.initialize(Path.java:145)

... 10 more

解决方案如下:

1.查看hive-site.xml配置,会看到配置值含有"system:java.io.tmpdir"的配置项

2.新建文件夹/home/grid/hive-0.14.0-bin/iotmp

3.将含有"system:java.io.tmpdir"的配置项的值修改为如上地址

启动hive,成功!

启动情况如下:

[grid@yanfh01 bin]$ ./hive

Logging initialized using configuration in jar:file:/home/grid/hive-0.14.0-bin/lib/hive-common-0.14.0.jar!/hive-log4j.properties

hive>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: