use*_*737 0 hive delegation token oozie
目前我遇到一个问题确实需要一些帮助.我们正在尝试对我们的hadoop集群进行kerberize,包括hive server2和oozie.我的oozie作业在数据节点中旋转了一个java动作,试图连接到kerberized hive服务器2.没有用户的kerberos keytab进行身份验证.所以我只能在java动作中使用oozie传递的委托令牌连接到hive服务器2.我的问题是:有没有办法在oozie java动作中使用委托令牌连接到hive服务器2?如果是这样,我怎么能通过hive JDBC做到这一点?谢谢贾里
在kerberized集群中使用Oozie时......
<credentials>类型<credentials>类型参考:有关Kerberos凭据的 Oozie 文档
AFAIK你不能使用HiveServer2的Hadoop委托令牌.HS2使用Thrift管理客户端连接,Thrift支持Kerberos; 但是Hadoop委托代币是不同的(Kerberos从未用于分布式计算,需要一种解决方法)
您可以做的是在"Java"操作中提供一整套GSSAPI配置,包括keytab.它有效,但有一些警告:
参考:我发现另一个StackOverflow帖子在连接到HiveServer2时非常有助于设置"原始"Kerberos身份验证; 加上一个关于调试GSSAPI配置的非常有用的"跟踪标志"的链接,例如
-Djava.security.debug=gssloginconfig,configfile,configparser,logincontext
Run Code Online (Sandbox Code Playgroud)
最后警告:Kerberos是黑魔法.它会吸走你的灵魂.更具有说服力的是,它会让你失去很多工作日来讨论神秘的配置问题,团队士气会受到影响.我们去过那儿.
| 归档时间: |
|
| 查看次数: |
1218 次 |
| 最近记录: |