我们已经安装了 Apache Ranger 1.0.0。我们进行了配置单元服务设置并在配置单元表上定义了策略以限制访问。此配置单元服务使用带有端口 10000(默认端口)的 jbdc 连接字符串。它工作正常。
我们尝试为 spark sql 设置 ranger。使用链接
https://www.mail-archive.com/user@ranger.incubator.apache.org/msg00799.html
但是当我尝试单击 Ranger UI 中的“测试连接”按钮时,它会抛出错误。
当我点击“显示更多”按钮时,它给出了这个错误
org.apache.ranger.plugin.client.HadoopException: Unable to connect to Hive Thrift Server instance..
Unable to connect to Hive Thrift Server instance..
Could not open client transport with JDBC Uri: jdbc:hive2://hostnameremoved:10015/default;ssl=true;sslTrustStore=/home/ec2-user/sslfile.jks;trustStorePassword=abcd: Could not establish connection to jdbc:hive2://hostnameremoved:10015/default;ssl=true;sslTrustStore=/home/ec2-user/sslfile.jks;trustStorePassword=abcd: Required field 'client_protocol' is unset! Struct:TOpenSessionReq(client_protocol:null, configuration:{set:hiveconf:hive.server2.thrift.resultset.default.fetch.size=1000, use:database=default}).
Could not establish connection to jdbc:hive2://hostnameremoved:10015/default;ssl=true;sslTrustStore=/home/ec2-user/sslfile.jks;trustStorePassword=abcd: Required field 'client_protocol' is unset! Struct:TOpenSessionReq(client_protocol:null, configuration:{set:hiveconf:hive.server2.thrift.resultset.default.fetch.size=1000, use:database=default}).
Required field 'client_protocol' is unset! Struct:TOpenSessionReq(client_protocol:null, configuration:{set:hiveconf:hive.server2.thrift.resultset.default.fetch.size=1000, use:database=default}).
我们正在使用 Hive 版本 - apache-hive-2.3.2.5。
但是,当通过 spark_home/bin/beeline 或通过具有与我们在 ranger 服务中使用的相同 jdbc 连接字符串的任何 sql 客户端进行连接时,Spark sql 工作正常。
任何指针都会有很大帮助。