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 atorg.apache.hadoop.hive.ql.session.SessionState.start(SessionState.java:444) atorg.apache.hadoop.hive.cli.CliDriver.run(CliDriver.java:672) atorg.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:616) atsun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) atsun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) atsun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) atjava.lang.reflect.Method.invoke(Method.java:606) atorg.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 atorg.apache.hadoop.fs.Path.initialize(Path.java:148) atorg.apache.hadoop.fs.Path.<init>(Path.java:126) atorg.apache.hadoop.hive.ql.session.SessionState.createSessionDirs(SessionState.java:487) atorg.apache.hadoop.hive.ql.session.SessionState.start(SessionState.java:430) ... 7more
啓動Hive報錯。java
主要是由於路徑沒找到,不要直接讀取 `${}` 文件路徑,把這種方式改成絕對路徑。apache
把 hive-site.xml 文件中關於 `${system:java.io.tmpdir}` 的所有改成絕對路徑。bash
# 先在 hive 根目錄新建一個文件夾 mkdir tmp # 編輯配置文件 vi hive-site.xml # 能夠經過查找的方式,直接定位 ${system:java.io.tmpdir} # vi 命令行下面,經過 / 來進行查找 # 將對應的 ${system:java.io.tmpdir} 替換成下面的絕對路徑 /usr/local/src/apache-hive-1.2.2-bin/tmp