4.X连接streamsql或者inceptorsql报错:Error: Could not open connection to jdbc:hive2://xxxx: Peer indicated failure: Error validating the login (state=08S01,code=0)

  其他常见问题
内容纲要

概要说明


4.X环境上,如果想使用LDAP方式登录inceptor或者streamsql,配置方法和5.X以及后续版本不太相同,需要额外配置hive.server2.authentication.ldap.url.

详细说明


本例的情况如下:集群内安装了inceptorsql以及streamsql,他们共享了metastore,但是客户反馈无法正常登录streamsql,尝试登录10010的时候报错如下:

[root@amen04-17 streamsql1]# beeline -u "jdbc:hive2://172.22.39.19:10010/default" -n hive -p 123456 
scan complete in 4839ms
Connecting to jdbc:hive2://172.22.39.19:10010/default
2020-06-19 11:46:56,364 INFO jdbc.Utils: Supplied authorities: 172.22.39.19:10010
Error: Could not open connection to jdbc:hive2://172.22.39.19:10010/default: Peer indicated failure: PLAIN auth failed: Error validating LDAP user (state=08S01,code=0)
2020-06-19 11:46:57,527 INFO jdbc.Utils: Supplied authorities: 172.22.39.19:10010
2020-06-19 11:46:57,735 INFO jdbc.Utils: Resolved authority: 172.22.39.19:10010
Error: Could not open connection to jdbc:hive2://172.22.39.19:10010/default: Peer indicated failure: PLAIN auth failed: Error validating LDAP user (state=08S01,code=0)

file

此时查看hive-server2.log可以获取到更详细的日志:

2020-06-19 11:50:38,285 ERROR transport.TSaslTransport: (TSaslTransport.java:open(315)) [HiveServer2-Handler-Pool: Thread-120()] - SASL negotiation failure
javax.security.sasl.SaslException: PLAIN auth failed: Error validating LDAP user
    at org.apache.hadoop.security.SaslPlainServer.evaluateResponse(SaslPlainServer.java:108)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at java.lang.Thread.run(Thread.java:745)

操作步骤

可以参考官方安全手册,2.6.3.4. 为Inceptor 配置 LDAP,具体如下图所示:

file

此时需要去检查streamsql的配置项:hive.server2.authentication.ldap.url

file

此配置项需要保持跟集群内的Guardian下面的OpenLDAP Server所在节点保持一致,例如此处为:amen04-17以及amen05-18

file

端口号为389,所以正确的配置方式为:ldap://amen04-17:389 ldap://amen05-18:389

1、修改streamsql中的配置项:

file
点击右边的保存更改按钮

2、点击页面右上角的更多操作->配置服务按钮,进行配置服务:

file

3、配置服务完成后重启streamsql:

file

先停止再启动

4、重新尝试登录beeline:

file

登陆成功

FAQ

如果出现inceptorsql无法登陆且报错信息类似的情况,也可以按照同样的思路排查并设置验证

这篇文章对您有帮助吗?

平均评分 0 / 5. 次数: 0

尚无评价,您可以第一个评哦!

非常抱歉,这篇文章对您没有帮助.

烦请您告诉我们您的建议与意见,以便我们改进,谢谢您。