2

我正在关注Hadoop/FIWARE-Cosmos 上的指南,并且我对 Hive 部分有疑问。

我可以通过 SSH 访问旧集群的 ( cosmos.lab.fiware.org) 头节点,但我无法为新集群执行此操作。我都试过了storage.cosmos.lab.fiware.org,都computing.cosmos.lab.fiware.org连接不上。

我尝试通过 SSH 连接的目的是通过 Hive CLI 测试对我们数据的 Hive 查询。失败后,我检查并能够连接到computing.cosmos.lab.fiware.orgtelnet 的 10000 端口。我猜 Hive 是通过该端口提供服务的。这是我们可以在新集群中使用 Hive 的唯一方法吗?

4

1 回答 1

2

新的集群对尚未启用 ssh 访问。这是因为用户倾向于在“旧”集群中安装很多东西(甚至与大数据无关),正如你提到的那样,它启用了 ssh 访问。因此,新的集群对只能通过公开的 API 使用:用于数据 I/O 的 WebHDFS 和用于 MapReduce 的 Tidoop。

话虽如此,Hive 服务器也在运行,它应该在 10000 端口中公开远程服务,正如您提到的那样。我说“应该是”是因为它正在运行一个基于 OAuth2 的实验性验证器模块,就像 WebHDFS 和 Tidoop 一样。从理论上讲,从 Hive 客户端连接到该端口就像使用您的 Cosmos 用户名和有效令牌(与您用于 WebHDFS 和/或 Tidoop 相同)一样简单。

那么 Hive 远程客户端呢?好吧,这是您的应用程序应该实现的。无论如何,我已经在 Cosmos repo 中上传了一些实现示例。例如:

https://github.com/telefonicaid/fiware-cosmos/tree/develop/resources/java/hiveserver2-client

于 2016-05-24T12:32:26.100 回答