首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >亚马逊电子病历上的WebHCat?

亚马逊电子病历上的WebHCat?
EN

Stack Overflow用户
提问于 2014-03-25 18:26:42
回答 2查看 889关注 0票数 0

在集群上运行WebHCat是可能的还是明智的?

我对这项技术很陌生,我想知道是否可以使用WebHCat作为REST接口来运行Hive查询。问题中的集群正在运行Hive。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-04-03 12:27:42

我无法让它工作,但WebHCat实际上是默认安装在亚马逊的EMR实例。

要让它运行,您必须执行以下操作,

代码语言:javascript
复制
chmod u+x /home/hadoop/hive/hcatalog/bin/hcat
chmod u+x /home/hadoop/hive/hcatalog/sbin/webhcat_server.sh
export TEMPLETON_HOME=/home/hadoop/.versions/hive-0.11.0/hcatalog/
export HCAT_PREFIX=/home/hadoop/.versions/hive-0.11.0/hcatalog/
/home/hadoop/hive/hcatalog/webhcat_server.sh start

然后,您可以使用curl确认它在端口50111上运行,

代码语言:javascript
复制
curl -i http://localhost:50111/templeton/v1/status

要在其他机器上达到50111,您必须在EC2电子病历安全组中打开端口。

然后,当您在hcatalog中运行查询时,您必须配置要“代理”的用户。我实际上并没有保存这个配置,但它是在WebHCat文档中概述。我希望他们有一些具体的例子,但基本上,我最终将本地'hadoop‘用户配置为运行查询的用户,这不是最安全的事情,我确信,但我只是想让它启动并运行。

然后尝试查询给了我这个错误,

{“错误”:“服务器IPC版本9无法与客户端版本4通信”}

解决方法是关闭最新的EMR映像(Hadoop2.2.0为3.0.4),切换为Hadoop1.0映像(Hadoop1.0.3为2.4.2)。

然后,我遇到了另一个问题,它无法正确地找到Hive,在与配置进行了更多的斗争之后,我决定花足够的时间让它正常工作,并决定直接与Hive通信(为RBHive使用RBHive和JDBC )。

为了回答我自己的问题,在EMR上运行WebHCat是可能的,但它根本没有文档记录(谷歌在任何地方都没有引导我,这就是为什么我首先创建了这个问题,现在它是搜索"WebHCat EMR“时的第一个热门),WebHCat文档还有很多需要改进的地方。让它开始工作似乎很痛苦,尽管我希望通过写下最初的步骤,有人会走出来,在剩下的路上拿出来,然后贴出一个完整的答案。

票数 1
EN

Stack Overflow用户

发布于 2014-04-03 01:41:52

我没有测试它,但它应该是可行的。

EMR允许自定义引导操作,即启动节点运行的脚本。您可以使用引导操作来安装其他软件和更改集群上应用程序的配置,请参阅http://docs.aws.amazon.com/ElasticMapReduce/latest/DeveloperGuide/emr-plan-bootstrap.html中的详细信息。

我将创建一个shell脚本来安装WebHCat,并首先在一个常规的EC2实例上测试您的脚本(在EMR上下文之外--就像测试确保您的脚本正常一样)。

您可以使用EC2的用户数据属性来测试脚本,通常如下:

#!/bin/bash curl http://path_to_your_install_script.sh | sh

然后--一旦您知道脚本正在工作--将它作为集群的自定义引导操作提供给S3桶和按照下面的说明包括您的脚本上的集群。

-Seb

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22643247

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档