Hive 启动报错 URI

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报错。

  主要是因为路径没找到,不要直接读取 `${}` 文件路径,把这种方式改为绝对路径。

  把 hive-site.xml 文件中关于 `${system:java.io.tmpdir}` 的全部改为绝对路径。

# 先在 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

  

posted @ 2019-06-10 13:24  听~雨  阅读(317)  评论(0编辑  收藏  举报