您的位置:首页 > 其它

Impala Kerberos Sentry Doas

2016-06-24 10:22 627 查看
最近在cdh impala开启kerberos和sentry情况下做sentry的doas发现官方文档写的在连接字符串中加 impala.doas.user是无效的,多方查阅是cdh的HiveJDBCDriver的bug。

经由我们架构师查找最终修改HiveDriver中的HiveConnection类有关解析代码解决了此问题。附上代码

private static final String IMPALA_PROXY_USER="impala.doas.user";

// set the session configuration
Map sessVars = connParams.getSessionVars();
if (sessVars.containsKey(HiveAuthFactory.HS2_PROXY_USER)) {
openConf.put(HiveAuthFactory.HS2_PROXY_USER,
sessVars.get(HiveAuthFactory.HS2_PROXY_USER));
}

//解决impala的代理用户不解析导致无效的问题
if (sessVars.containsKey(IMPALA_PROXY_USER)) {
openConf.put(IMPALA_PROXY_USER,
sessVars.get(IMPALA_PROXY_USER));
}
openReq.setConfiguration(openConf);


此问题极为罕见,希望对遇到的人有所帮助。

感谢架构师温总的付出。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  kerberos sentry impala doas