【问题标题】:Problems trying to load hwi service in hive-1.1.0?尝试在 hive-1.1.0 中加载 hwi 服务时出现问题?
【发布时间】:2015-06-12 15:26:17
【问题描述】:

我一直在自学在 hive-1.1.0 案例中使用 Hadoop (2.6.0) 和相关应用程序。我正在使用 Hadoop for Dummies 第 237 页上的信息运行 hwi 服务器,但按照那里的说明,我一直遇到一条错误消息,指出在 hive-1.1.0/lib 中找不到 WAR 文件。

我必须配置 $HIVE_HOME/config/hive-site.xml 文件以指向此 WAR 文件在 hive-1.1.0/lib 中的位置,但是当我运行命令启动 hwi 服务器时,它确实启动但随后中断,因为在运行此命令时,一些路径中的行(应该来自我在 hive-site.xml 中的定义)是重复的,因此命令无法找到 WAR 文件。我附上了我的 hive-site.xml 文件的屏幕截图以及运行命令 hive --service hwi 时发生的结果。

$HIVE_HOME/config/hive-site.xml 文件的相关部分

<?xml version="1.0"?>
 <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
  <configuration>
     <!-- Hive Execution Parameters -->
    <property>
      <name>hive.metastore.warehouse.dir</name>
      <value>/home/hadoop/Hive/warehouse</value>
      <description>location of default database for the warehouse</description>
    </property>
    <property>
      <name>hive.hwi.war.file></name>
      <value>$HIVE_HOME/lib/hive-hwi.0.12.0.war</value>
      <description> This is the WAR file with the jsp content for Hive Web Interface</description>
    </property>  
  </configuration>

在这个版本的 Hive 上,没有 WAR 文件,我按照建议从 hive-0.12.0 复制了 hive-hwi.0.12.0.war

结果如下:

[hadoop@fedora21_2 ~]$ hive --service hwi
15/04/05 15:53:02 INFO hwi.HWIServer: HWI is starting up
15/04/05 15:53:04 WARN conf.HiveConf: HiveConf of name hive.hwi.war.file> does not exist
15/04/05 15:53:04 FATAL hwi.HWIServer: HWI WAR file not found at /home/hadoop/hive-1.1.0/home/hadoop/hive-1.1.0/lib/hive-hwi-0.12.0.war
[hadoop@fedora21_2 ~]$ 

看起来好像当我运行命令加载 HWI 服务时,该命令以某种方式破坏了 hive-site.xml 中发布的 WAR 文件的路径。不确定我在这里缺少什么。

【问题讨论】:

    标签: hadoop hive


    【解决方案1】:

    从以下位置更改此属性:

    <property>
                <name>hive.hwi.war.file</name>
                <value>{$HIVE_HOME}/lib/hive-hwi-[version].war</value>
    </property>
    

    到:

    <property>
                <name>hive.hwi.war.file</name>
                <value>/lib/hive-hwi-[version].war</value>
    </property>
    

    您遇到了问题,因为最终执行路径变为 {$HIVE_HOME}/{$HIVE_HOME}/lib/hive-hwi-[version].war

    这是因为您在读取配置文件时已经位于 {$HIVE_HOME} 目录。

    因此,如果您从配置中删除 {$HIVE_HOME},您将获得 {$HIVE_HOME}/lib/hive-hwi-[version].war,这是正确的路径。

    在你的情况下,[版本] = 0.12.0

    【讨论】:

      【解决方案2】:

      在 hive 中创建一个文件夹

      home/hadoop/hive-1.1.0/lib
      

      并将lib的所有文件粘贴到这里,然后运行命令

      hive --service hwi
      

      这将在错误修复时起作用。

      【讨论】:

        猜你喜欢
        • 2019-09-14
        • 1970-01-01
        • 2020-11-08
        • 2013-06-26
        • 1970-01-01
        • 2022-09-27
        • 2017-04-19
        • 1970-01-01
        相关资源
        最近更新 更多