我安装 Hadoop , Hive 与 WebHCat 集成,用于使用Map运行hive查询 - 减少Hadoop的工作。
我安装了 Hadoop 2.4.1 和 Hive 0.13.0 (最新的稳定版本)。
我使用网络界面发送的请求是:
POST: http://localhost:50111/templeton/v1/hive?user.name='hadoop'&statusdir='out'&execute='show tables'
我得到了以下答复:
{
"id": "job_local229830426_0001"
}
但是在日志 webhcat-console-error.log 中,我发现此作业的退出值为1,这意味着发生了一些错误。跟踪此错误我发现选项缺少参数:hiveconf
这是 webhcat-site.xml ,其中包含webhcat的配置(以前称为templeton):
<configuration>
<property>
<name>templeton.port</name>
<value>50111</value>
<description>The HTTP port for the main server.</description>
</property>
<property>
<name>templeton.hive.path</name>
<value>/usr/local/hive/bin/hive</value>
<description>The path to the Hive executable.</description>
</property>
<property>
<name>templeton.hive.properties</name>
<value>hive.metastore.local=false,hive.metastore.uris=thrift://localhost:9933,hive.metastore.sasl.enabled=false</value>
<description>Properties to set when running hive.</description>
</property>
</configuration>
但是执行的cmd查询很奇怪,因为它有一些没有值的其他hiveconf参数:
tool.TrivialExecService: Starting cmd: [/usr/local/hive/bin/hive, --service, cli, --hiveconf, --hiveconf, --hiveconf, hive.metastore.local=false, --hiveconf, hive.metastore.uris=thrift://localhost:9933, --hiveconf, hive.metastore.sasl.enabled=false, -e, show tables]
任何想法?