我正在关注this Hadoop/FIWARE-Cosmos 指南,我对 Hive 部分有疑问。
我可以通过 SSH 访问旧集群的 (cosmos.lab.fiware.org
) 头节点,但无法对新集群执行此操作。我尝试了 storage.cosmos.lab.fiware.org
和 computing.cosmos.lab.fiware.org
但无法连接。
我尝试通过 SSH 连接的目的是通过 Hive CLI 测试对数据的 Hive 查询。失败后,我检查并能够通过 telnet 连接到 computing.cosmos.lab.fiware.org
的 10000 端口。我猜 Hive 是通过该端口提供服务的。这是我们在新集群中使用 Hive 的唯一方法吗?
最佳答案
新的一对集群尚未启用 ssh 访问。这是因为用户倾向于在“旧”集群中安装很多东西(甚至与大数据无关),正如您提到的,该集群启用了 ssh 访问。因此,这对新集群只能通过公开的 API 来使用:用于数据 I/O 的 WebHDFS 和用于 MapReduce 的 Tidoop。
话虽这么说,Hive 服务器也在运行,并且它应该在 10000 端口中公开远程服务,正如您提到的那样。我说“应该是”,因为它正在运行一个基于 OAuth2 的实验性身份验证器模块,就像 WebHDFS 和 Tidoop 所做的那样。理论上,从 Hive 客户端连接到该端口就像使用您的 Cosmos 用户名和有效 token (与您用于 WebHDFS 和/或 Tidoop 的 token 相同)一样简单。
那么 Hive 远程客户端又如何呢?嗯,这是您的应用程序应该实现的。无论如何,我已经在 Cosmos 存储库中上传了一些实现示例。例如:
https://github.com/telefonicaid/fiware-cosmos/tree/develop/resources/java/hiveserver2-client
关于hadoop - FIWARE-Cosmos 头节点的 SSH 访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37413460/