`
zhangxiong0301
  • 浏览: 360755 次
社区版块
存档分类
最新评论

hiveserver2配置

    博客分类:
  • HIVE
 
阅读更多

在之前的学习和实践Hive中,使用的都是CLI或者hive –e的方式,该方式仅允许使用HiveQL执行查询、更新等操作,并且该方式比较笨拙单一。幸好Hive提供了轻客户端的实现,通过HiveServer或者HiveServer2,客户端可以在不启动CLI的情况下对Hive中的数据进行操作,两者都允许远程客户端使用多种编程语言如Java、Python向Hive提交请求,取回结果。HiveServer或者HiveServer2都是基于Thrift的,但HiveSever有时被称为Thrift server,而HiveServer2却不会。既然已经存在HiveServer为什么还需要HiveServer2呢?这是因为HiveServer不能处理多于一个客户端的并发请求,这是由于HiveServer使用的Thrift接口所导致的限制,不能通过修改HiveServer的代码修正。因此在Hive-0.11.0版本中重写了HiveServer代码得到了HiveServer2,进而解决了该问题。HiveServer2支持多客户端的并发和认证,为开放API客户端如JDBC、ODBC提供了更好的支持。

       既然HiveServer2提供了更强大的功能,将会对其进行着重学习,但也会简单了解一下HiveServer的使用方法。在命令中输入hive --service help,结果如下。从结果可以了解到,可以使用hive <parameters> --service serviceName <serviceparameters>启动特定的服务,如cli、hiverserver、hiveserver2等。

 

[plain] view plaincopyprint?在CODE上查看代码片派生到我的代码片
 
  1. [hadoop@hadoop~]$ hive --service  help  
  2. Usage ./hive<parameters> --service serviceName <service parameters>  
  3. Service List: beelinecli help hiveserver2 hiveserver hwi jar lineage metastore metatool orcfiledumprcfilecat schemaTool version  
  4. Parametersparsed:  
  5.   --auxpath : Auxillary jars  
  6.   --config : Hive configuration directory  
  7.   --service : Starts specificservice/component. cli is default  
  8. Parameters used:  
  9.   HADOOP_HOME or HADOOP_PREFIX : Hadoop installdirectory  
  10.   HIVE_OPT : Hive options  
  11. For help on aparticular service:  
  12.   ./hive --service serviceName --help  
  13. Debug help:  ./hive --debug --help  

 

    在命令行输入hive --service hiveserver –help查看hiveserver的帮助信息:

 

[plain] view plaincopyprint?在CODE上查看代码片派生到我的代码片
 
  1. [hadoop@hadoop~]$ hive --service hiveserver --help  
  2. Starting Hive Thrift Server  
  3. usage:hiveserver  
  4.  -h,--help                        Print help information  
  5.     --hiveconf <property=value>   Use value for given property  
  6.     --maxWorkerThreads <arg>      maximum number of worker threads,  
  7.                                  default:2147483647  
  8.     --minWorkerThreads <arg>      minimum number of worker threads,  
  9.                                   default:100  
  10.  -p <port>                        Hive Server portnumber, default:10000  
  11.  -v,--verbose                     Verbose mode  

 

       启动hiveserver服务,可以得知默认hiveserver运行在端口10000,最小100工作线程,最大2147483647工作线程。

 

[plain] view plaincopyprint?在CODE上查看代码片派生到我的代码片
 
  1. [hadoop@hadoop~]$ hive --service hiveserver -v  
  2. Starting Hive Thrift Server  
  3. 14/08/01 11:07:09WARN conf.HiveConf: DEPRECATED: hive.metastore.ds.retry.* no longer has anyeffect.  Use hive.hmshandler.retry.*instead  
  4. Starting hive serveron port 10000 with 100 min worker threads and 2147483647 maxworker threads  

 

       接下来学习更强大的hiveserver2。Hiveserver2允许在配置文件hive-site.xml中进行配置管理,具体的参数为:

 

[plain] view plaincopyprint?在CODE上查看代码片派生到我的代码片
 
  1. hive.server2.thrift.min.worker.threads– 最小工作线程数,默认为5。  
[plain] view plaincopyprint?在CODE上查看代码片派生到我的代码片
 
  1. hive.server2.thrift.max.worker.threads – 最小工作线程数,默认为500。  
  2. hive.server2.thrift.port– TCP 的监听端口,默认为10000。  
  3. hive.server2.thrift.bind.host– TCP绑定的主机,默认为localhost。  

 

       也可以设置环境变量HIVE_SERVER2_THRIFT_BIND_HOST和HIVE_SERVER2_THRIFT_PORT覆盖hive-site.xml设置的主机和端口号。从Hive-0.13.0开始,HiveServer2支持通过HTTP传输消息,该特性当客户端和服务器之间存在代理中介时特别有用。与HTTP传输相关的参数如下:

     

[plain] view plaincopyprint?在CODE上查看代码片派生到我的代码片
 
  1. hive.server2.transport.mode – 默认值为binary(TCP),可选值HTTP。  
  2. hive.server2.thrift.http.port– HTTP的监听端口,默认值为10001。  
[plain] view plaincopyprint?在CODE上查看代码片派生到我的代码片
 
  1. hive.server2.thrift.http.path – 服务的端点名称,默认为 cliservice。  
  2. hive.server2.thrift.http.min.worker.threads– 服务池中的最小工作线程,默认为5。  
  3. hive.server2.thrift.http.max.worker.threads– 服务池中的最小工作线程,默认为500。  

 

 

      启动Hiveserver2有两种方式,一种是上面已经介绍过的hive --service hiveserver2,另一种更为简洁,为hiveserver2。使用hive--service hiveserver2 –H或hive--service hiveserver2 –help查看帮助信息:

 

[plain] view plaincopyprint?在CODE上查看代码片派生到我的代码片
 
  1. Starting HiveServer2  
  2. Unrecognizedoption: -h  
  3. usage:hiveserver2  
  4.  -H,--help                        Print help information  
  5.     --hiveconf <property=value>   Use value for given property  

 

      默认情况下,HiveServer2以提交查询的用户执行查询(true),如果hive.server2.enable.doAs设置为false,查询将以运行hiveserver2进程的用户运行。为了防止非加密模式下的内存泄露,可以通过设置下面的参数为true禁用文件系统的缓存:

     

[plain] view plaincopyprint?在CODE上查看代码片派生到我的代码片
 
  1. fs.hdfs.impl.disable.cache – 禁用HDFS文件系统缓存,默认值为false。  
  2. fs.file.impl.disable.cache – 禁用本地文件系统缓存,默认值为false。  
分享到:
评论

相关推荐

    hive systemctl启停hiveserver2和metastore服务.pdf

    然而,手动启动和停止Hive的服务,如HiveServer2和Metastore,可能会变得繁琐和耗时。为了解决这个问题,我们可以创建自定义的Shell脚本以及使用systemd服务来实现一键启停Hive的相关服务。 首先,我们来看一下提供...

    Hiveserver2 Beeline连接设置用户名和密码.docx

    最后,重启 HiveServer2 服务,使新的认证配置生效。用户现在可以通过 Beeline 使用用户名和密码连接到 HiveServer2。 总结,设置 Hiveserver2 Beeline 连接的用户名和密码涉及到自定义认证类的编写、Hive 和 ...

    HiveServer2-JDBC及用户权限测试

    本文将详细介绍 HiveServer2 的安全机制,包括配置 Kerberos 认证、启用 Kerberos 认证、远程访问元数据的配置等。 在 CDH4 中,HiveServer2 的安全机制主要通过 Kerberos 认证来实现。Kerberos 是一种广泛使用的...

    HiveServer2自定义身份验证

    ============Hive的beeline权限配置============ 1)HDFS修改core-site.xml配置 搜索 core-site.xml ...2)YARN (MR2 Included)修改core-site.xml配置 java.sql.SQLException: Could not open client transpor

    hive的安装与配置.txt

    3. **HiveServer2配置**:HiveServer2 是 Hive 提供的一种服务,它使得 Hive 能够支持来自其他客户端(如 JDBC/ODBC 客户端、Impala、Hue 等)的请求。配置 HiveServer2 主要是启用或禁用该服务以及设置其监听地址和...

    hiveserver2 jdbc

    HiveServer2 JDBC连接还支持配置参数,例如连接超时、重试次数等,可以通过URL中的分号(`;`)隔开的键值对进行设置。此外,对于安全性较高的环境,可能需要使用Kerberos认证,这时需要在URL中指定`principal`参数,并...

    cdh6.3.2升级hive至3.x后登陆HiveServer2连接失败.doc

    ### CDH 6.3.2 升级 Hive 至 3.x 后登录 HiveServer2 连接失败问题分析及解决方法 #### 一、问题背景与现象 在将 Cloudera Data Hub (CDH) 6.3.2 版本中的 Hive 升级到 3.x 版本后,用户在尝试通过 JDBC 连接到 ...

    hive配置参数及含义

    hive配置参数及含义, 在大数据维护中对hive的优化参数的配置明细

    pyhs2-0.6.0.tar.gz

    《PyHS2:Python连接HiveServer2的实用工具包》 PyHS2是Python社区开发的一款用于连接Hadoop Hive Server 2(Hiveserver2)的库,它提供了与Hive进行交互的能力,便于在Python环境中执行HQL查询、处理大数据任务。...

    Hive的安装与配置是一个相对复杂的过程.pdf

    1. **执行Hive SQL语句**: 通过Hive的命令行界面或客户端工具(如Beeline)连接到HiveServer2,并执行一些基本的查询操作来验证安装与配置是否成功。 #### 八、注意事项 1. **遵循官方文档**: 在安装和配置过程中,...

    UDTF函数不生效问题.doc

    - 确保`hive-site.xml`等配置文件中的设置正确无误,特别是与HiveServer2相关的配置项,如`hive.metastore.uris`等。 4. **清理缓存信息**: - 如果之前的操作仍然没有解决问题,还可以考虑清理HiveServer2的相关...

    Hive2.x系列驱动,

    4. hadoop-common-2.6.1.jar:这个是Hadoop通用库,包含了Hadoop项目中跨模块的公共代码,如网络通信、配置管理等。 5. parquet-hadoop-bundle-1.8.1.jar:Parquet是Google开发的一种列式存储格式,适用于大数据...

    fancyChuan#bigdata-hub#hive常用配置-配置文件1

    命令行显示当前数据库- hive thrift服务xml- hiveserver2操作日志位置xmlhive下spark相关配置。

    hive高可用1

    - 与Node2配置相似,但`hive.server2.thrift.bind.host`应设置为Node4的IP地址,确保每个实例监听不同的端口。 **高可用实现**: - 使用Zookeeper协调Hiveserver2实例。当主Hiveserver2故障时,Zookeeper会检测到并...

    hbase:实验一-Hive3安装与部署.pdf

    - **配置并运行HiveServer2**:HiveServer2是Hive的服务端,负责接收客户端的查询请求并执行。你需要下载Hive,设置Hive能找到Hadoop的路径,创建仓库目录,并启动HiveServer2。 - **通过Beeline连接HiveServer2**:...

    hive的安装与配置.zip

    6. **验证安装**:通过Hive CLI或者Beeline客户端连接HiveServer2,执行简单的SQL查询,检查Hive是否正常工作。 配置Hive的过程中,有几个关键点需要注意: 1. **元数据存储**:Hive的元数据包括表名、字段名、...

    CDH参数优化.doc

    - **HiveServer2高级配置**:同样,在“HiveServer2 高级配置代码段(安全阀)”部分也进行同样的配置修改: ```xml &lt;name&gt;hive.execution.engine &lt;value&gt;spark ``` 通过以上两个步骤,不仅确保了通过JDBC...

    第4章 Hive参数配置与函数、运算符使用1

    它主要用于交互式或批处理模式的Hive查询执行,并且能够访问Hive元数据存储服务,而不是hiveserver2服务。以下是一些重要参数: - `-e &lt;quoted-query-string&gt;`:执行命令行后面指定的SQL语句,执行完毕后退出。 - ...

Global site tag (gtag.js) - Google Analytics