一、hiveserver2 身份认证
hiveserver2的身份认证采用LDAP,使用LDAP的工具采用开源的apacheDS。
1、apacheDS下载
(1)ApacheDS服务:
下载地址:Downloads — Apache Directory
最新版本:apacheds-2.0.0.AM26.tar.gz
(2)ApacheDirectoryStudio客户端
下载地址: Index of /dist/directory/studio
由于新版本要求JDK11以上, 使用的是老版本ApacheDirectoryStudio-2.0.0.v20200411-M15-macosx.cocoa.x86_64.dmg
2、apacheDS安装
在linux服务器安装:
(1)解压到安装目录
tar zxf apacheds-2.0.0.AM26.tar.gz -C /home/mydev/app/
(2)启动
/home/mydev/app/apacheds-2.0.0.AM26/bin/apacheds.sh start
(3)停用
/home/mydev/app/apacheds-2.0.0.AM26/bin/apacheds.sh stop
3、ApacheDirectoryStudio安装
在PC端点击安装。
(1) LDAP的概念
LDAP:Light Directory Access Protocol 轻量级目录访问协议,ldap是一种目录数据库存储方式
DN:是LDAP数据ID。
DN:dc=某公司,dc=com 是一个根节点
DN:ou=研发部,dn=某公司,dn=com,表示研发部属于这个DN。
DN:uid=某个人,ou=研发部,dn=某公司,dn=com 表示研发部下的某个人。
(2)配置新的partition,需要重启apacheDS才生效。
(3)配置用户的密码,一定要点击bind.否则不生效。
4、hive的配置文件
(1)hive-site.xml
cd /opt/module/hive/conf/
<property> <!-- hiveserver2的认证方式 --> <name>hive.server2.authentication</name> <value>LDAP</value> </property> <property> <!-- hiveserver2的认证ldap的地址--> <name>hive.server2.authentication.ldap.url</name> <value>ldap://172.16.0.10:10389</value> </property> <property> <!-- hiveserver2的认证根节点--> <name>hive.server2.authentication.ldap.baseDN</name> <value>ou=test,dc=pingpukj,dc=com</value> </property> |
(2)重启hiveserver2生效
nohup hive --service hiveserver2
查看端口验证重启是否成功:netstat -ntulp | grep 10008
5、验证hiveserver2连接
beeline -u jdbc:hive2://172.16.0.10:10008/default -n agc -p *****
其中 agc ******就是在apacheds配置的用户名和密码。
(1)apacheDS、oranger、hadoop用户。
名称一样的用户,权限都是一一对应的。
apacheDS里有的用户,在hadoop没有的,可以提交查询任务,但是hdfs权限没有。
二、Jdbc连接 hiveserver2
1、jdbc的连接超时
在jdbc的url里设置
connectTimeout/loginTimeout:连接超时
socketTimeout:网络超时
2、hive的session超时
(1)hive-site.xml
cd /opt/module/hive/conf/
|
3、hive的参数设置 jdbc:hive2://103.89.185.148:10008/rsr;loginTimeout=300000;connectTimeout=300000;socketTimeout=300000?spark.executor.instances=2;spark.app.name=zyh
4、java代码示例
|