4

所以我有两台机器,我正在尝试用另一台机器连接到配置单元服务器。我只是输入

$hive -h<IP> -p<PORT>

但是,它说我需要安装hadoop。我只想远程连接。那么为什么我需要hadoop呢?有没有办法绕过这个?

4

2 回答 2

2

hive程序依赖于程序,因为它通过hadoop从 HDFS 读取、启动 map-reduce 作业等工作。(在 Hive 中,与典型的数据库服务器不同,命令行界面实际上完成了所有查询处理,将其转换为底层实施;因此您通常不会以您期望的方式真正运行“Hive 服务器”。)这并不意味着您需要在这台机器上实际安装 Hadoop 集群,但您需要安装连接到 Hadoop 集群的基本软件。

绕过这一点的一种方法是在具有 Hadoop 基础架构的机器上运行 Hive JDBC/Thrift 服务器——也就是说,hive使用命令行选项运行程序,以在所需端口上将其作为 Hive 服务器运行,依此类推——然后使用您最喜欢的支持 JDBC 的 SQL 客户端连接到它。这更接近于典型 DBMS 的数据库服务器模型(尽管它仍然不同,因为它仍然保留了通过该服务器的其他hive连接的可能性)。(注意:这过去设置起来有点棘手。我不确定现在是否比以前更容易。)

这可能很明显,但为了完整性:绕过此限制的另一种方法是使用ssh,并实际hive在具有 Hadoop 基础架构的机器上运行。:-)

于 2013-08-03T01:20:53.883 回答
0

较新的 Hive CLI 实际上允许连接到远程 Thrift 服务器。请参阅https://cwiki.apache.org/confluence/display/Hive/LanguageManual+Cli的开头远程计算机应该运行 Hive 服务器才能使其正常工作。

您不需要本地机器成为 Hadoop 集群的一部分。但是,您可能需要 Hadoop 程序/jar 才能使 Hive 工作。如果您从标准存储库安装 Hive,它应该包含 Hadoop 发行版。

于 2013-12-20T22:17:26.887 回答