通过JDBC连接Hive服务的连接串参数说明

本文主要介绍通过JDBC连接Hive服务时,连接串中在不同场景下涉及到的参数,这些场景包括非Kerberos认证环境、Kerberos认证环境、Kerberos认证环境下使用代理用户及Kerberos认证环境下使用代理用户且指定队列等使用场景。

1.非Kerberos认证环境下hive jdbc连接串
!connect jdbc:hive2://${hive节点ip}:${hive端口号}/${需要连接的数据库名};

说明:

${hive节点ip}——为Hive安装节点的ip或hostname

${hive端口号}——为Hive服务的端口号,默认为10000

${需要连接的数据库名}——为需要连接的Hive数据库名,如:default

2.hive jdbc连接串
!connect jdbc:hive2://${hive节点ip}:${hive端口号}/${需要连接的数据库名};principal=${hive principal};

说明:

${hive节点ip}——为Hive安装节点的ip或hostname

${hive端口号}——为Hive服务的端口号,默认为10000

${需要连接的数据库名}——为需要连接的Hive数据库名,如:default

${hive principal}——为Hive服务的principal,此参数是在Hive集成Kerberos认证环境下使用,如果集群未使用Kerberos认证,则不需要配置该参数,如果集群是Kerberos认证环境,则该principal为hive-site.xml中hive.server2.authentication.kerberos.principal配置项的值

3.通过代理模式连接hive
!connect jdbc:hive2://${hive节点ip}:${hive端口号}/${需要连接的数据库名};principal=${hive principal};hive.server2.proxy.user=${proxyUserName};

说明:

${hive节点ip}——为Hive安装节点的ip或hostname

${hive端口号}——为Hive服务的端口号,默认为10000

${需要连接的数据库名}——为需要连接的Hive数据库名,如:default

${hive principal}——为Hive服务的principal,此参数是在Hive集成Kerberos认证环境下使用,如果集群未使用Kerberos认证,则不需要配置该参数,如果集群是Kerberos认证环境,则该principal为hive-site.xml中hive.server2.authentication.kerberos.principal配置项的值

${proxyUserName}——为Hive代理的用户名

4.hive jdbc连接串中指定代理用户、指定队列名
!connect jdbc:hive2://${hive节点ip}:${hive端口号}/${需要连接的数据库名};principal=${hive principal};hive.server2.proxy.user=${proxyUserName}?mapreduce.job.queuename=${queueName};

说明:

${hive节点ip}——为Hive安装节点的ip或hostname

${hive端口号}——为Hive服务的端口号,默认为10000

${需要连接的数据库名}——为需要连接的Hive数据库名,如:default

${hive principal}——为Hive服务的principal,此参数是在Hive集成Kerberos认证环境下使用,如果集群未使用Kerberos认证,则不需要配置该参数,如果集群是Kerberos认证环境,则该principal为hive-site.xml中hive.server2.authentication.kerberos.principal配置项的值

${queueName}——为执行Hive任务的队列名,该参数只支持执行引擎为MapReduce

posted @ 2021-03-15 09:37  小小程序员_sjk  阅读(4182)  评论(0编辑  收藏  举报