使用Ranger时适配第三方JDK
操作场景
当使用Ranger作为spark sql的权限管理服务时,访问RangerAdmin需要使用集群中的证书。如果用户未使用集群中的JDK或者JRE,而是使用第三方JDK时,会出现访问RangerAdmin失败,进而Spark应用程序启动失败的问题。
在这个场景下,需要进行以下操作,将集群中的证书导入第三方JDK或者JRE中。
配置方法
- 导出集群中的证书:
- 安装集群客户端,具体请参考安装MRS客户端,例如安装路径为“/opt/client”。
- 执行以下命令,切换到客户端安装目录。
cd /opt/client
- 执行以下命令配置环境变量。
source bigdata_env
- 安全模式执行安全认证,普通模式无需执行:
kinit 组件业务用户
- 生成证书文件
keytool -export -alias fusioninsightsubroot -storepass changeit -keystore /opt/client/JRE/jre/lib/security/cacerts -file fusioninsightsubroot.crt
- 将集群中的证书导入第三方JDK或者JRE中
将1中生成的fusioninsightsubroot.crt文件复制到第三方JRE节点上,设置好该节点的JAVA_HOME环境变量后,执行以下命令导入证书:
keytool -import -trustcacerts -alias fusioninsightsubroot -storepass changeit -file fusioninsightsubroot.crt -keystore MY_JRE/lib/security/cacerts
'MY_JRE'表示第三方JRE安装路径,请自行修改。