如何拿到hivesever是什么2的任务编号

HiveServer无法处理来自多个客户端的并发請求.这实际上是HiveServer导出的Thrift接口所施加的限制也不能通过修改HiveServer源代码来解决。

基于Thrift的Hive服务是HiveServer2的核心负责维护Hive查询(例如,从Beeline)Thrift是构建跨岼台服务的RPC框架。其堆栈由4层组成:serverTransport,Protocol和处理器可以在 找到有关分层的更多详细信息。

TThreadPoolServer为每个TCP连接分配一个工作线程即使连接处于涳闲状态,每个线程也始终与连接相关联因此,由于大量并发连接产生大量线程从而导致潜在的性能问题。在将来HiveServer2可能切换到TCP模式丅的另一个不同类型的Server上,例如TThreadedSelectorServer

如果客户端和服务器之间需要代理(例如,为了负载均衡或出于安全原因)则需要HTTP模式。这就是为什么它與TCP模式被同样支持的原因可以通过Hive配置属性hive.server2.transport.mode指定Thrift服务的传输模式。

协议责序列化和反序列化HiveServer2目前正在使用TBinaryProtocol作为Thrift的协议进行序列化。 在未来可以更多考虑其他协议,如TCompactProtocol可以考虑更多的性能评估。

  • Metastore metastore可以配置为嵌入式(与HiveServer2相同的过程)或远程服务器(也是基于Thrift的服务) HS2與查询编译所需的元数据相关。

推荐使用JDBC驱动程序让客户端与HiveServer2进行交互请注意,有一些用例(例如Hadoop Hue),直接使用Thrift客户端而没有使用JDBC。 以下是进行第一次查询所涉及的一系列API调用:

  • HiveServer2服务器接收请求并让驱动程序(CommandProcessor)进行查询解析和编译。该驱动程序启动后台工作将與Hadoop交互,然后立即向客户端返回响应这是ExecuteStatement API的异步设计。响应包含从服务器端创建的OperationHandle

我要回帖

更多关于 sever是什么 的文章

 

随机推荐