Hiveserver2配置及优化

先简单介绍下HS1和HS2的主要区别:异步

           HiveServer1:async

                      能够看到HS的进程和MetaStore的进程是在一个虚拟机里面的,并且从图中能够看出,一个HS服务同时只能提供一个访问链接。tcp

 

         HiveServer2:this

                             HS2的主要改进是把MetaStoreServer从Hiveserver中剥离出来了,造成一个单独的进程运行,并且hiveserver和metastore server能够同时服务         于多个客户端(Beeline CLI,Hive CLI,HCatalog等)。spa

 

 

配置Hiveserver2的访问协议,http或者tcp线程

<property>code

  <name>hive.server2.transport.mode</name>server

  <value>binary</value>队列

  <description>Server transport mode. "binary" or "http".</description>进程

</property>

 

对应http协议的访问端口

<property>

  <name>hive.server2.thrift.http.port</name>

  <value>10001</value>

  <description>Port number when in HTTP mode.</description>

</property>

 

对应tcp协议的访问端口

<property>

  <name>hive.server2.thrift.port</name>

  <value>10001</value>

  <description>Port number when in TCP mode.</description>

</property>

 

对应在http协议下线程池的线程数

<property>

  <name>hive.server2.thrift.http.min.worker.threads</name>

  <value>5</value>

  <description>Minimum number of worker threads when in HTTP mode.</description>

</property>

<property>

  <name>hive.server2.thrift.http.max.worker.threads</name>

  <value>500</value>

  <description>Maximum number of worker threads when in HTTP mode.</description>

</property>

 

对应在tcp协议下的线程池的线程数:

<property>

  <name>hive.server2.thrift.min.worker.threads</name>

  <value>5</value>

  <description>Minimum number of worker threads when in TCP mode.</description>

</property>

<property>

  <name>hive.server2.thrift.max.worker.threads</name>

  <value>500</value>

  <description>Maximum number of worker threads when in TCP mode.</description>

</property>

 

配置metastore server的地址

<property>

  <name>hive.metastore.uris</name>

  <value></value>

  <description>Thrift URI for the remote metastore. Used by metastore client to connect to remote metastore.</description>

</property>

 

配置异步线程池的线程数

<property>

    <name>hive.server2.async.exec.threads</name>

    <value>100</value>

    <description>Number of threads in the async thread pool for HiveServer2</description>

</property>

 

配置异步线程结束的超时时间(超过这个时间HS会退出):

<property>

  <name>hive.server2.async.exec.shutdown.timeout</name>

  <value>10</value>

  <description>Time (in seconds) for which HiveServer2 shutdown will wait for async

  threads to terminate</description>

</property>

 

配置异步线程的等待超时时间(超过这个值线程会被回收)

<property>

  <name>hive.server2.async.exec.keepalive.time</name>

  <value>10</value>

  <description>Time (in seconds) that an idle HiveServer2 async thread (from the thread pool) will wait

  for new task to arrive before terminating</description>

</property>

 

<property>

  <name>hive.server2.long.polling.timeout</name>

  <value>5000L</value>

  <description>Time in milliseconds that HiveServer2 will wait, before responding to asynchronous calls that use long polling</description>

</property>

 

配置请求缓冲队列的长度

<property>

  <name>hive.server2.async.exec.wait.queue.size</name>

  <value>100</value>

  <description>Size of the wait queue for async thread pool in HiveServer2.

  After hitting this limit, the async thread pool will reject new requests.</description>

</property>

相关文章
相关标签/搜索