用于Windows的Kerberos身份验证R

问题描述:

我正尝试使用SparkR程序包从RStudio桌面(Windows)连接我的HDP群集。用于Windows的Kerberos身份验证R

Spark init失败,没有证书错误消息,这似乎是因为缺少kerberos证书。 (完整的错误消息可以在下面找到)我已经有一个kerberos ticker,但发现RStudio桌面不支持Kerberos身份验证,RStudio服务器pro是我所需要的。但是,看起来像RStudio服务器Pro不能安装在Windows上。

如果我想坚持我当前使用的Windows R和RStudio环境,有没有其他方法可以连接Hadoop?

另外,是否有核心R本身(无RStudio),我可以使用Hadoop集群进行身份验证包?

它看起来像我可以在Windows上安装Microsoft R,但它看起来不像它支持Kerberos身份验证?在Windows

sparkR.init(master = "yarn-client",appName = "sparkR", sparkHome = "C:/spark-1.6.2-bin-hadoop2.6",sparkEnvir = list(spark.driver.memory="2g")) 

Error in invokeJava(isStatic = TRUE, className, methodName, ...) : 
    java.io.IOException: Failed on local exception: java.io.IOException: javax.security.sasl.SaslException: GSS initiate failed [Caused by GSSException: No valid credentials provided (Mechanism level: Failed to find any Kerberos tgt)]; Host Details : local host is: "HostName/IPAddress"; destination host is: "HostName:PORT; 
    at org.apache.hadoop.net.NetUtils.wrapException(NetUtils.java:772) 
    at org.apache.hadoop.ipc.Client.call(Client.java:1472) 
    at org.apache.hadoop.ipc.Client.call(Client.java:1399) 
    at org.apache.hadoop.ipc.ProtobufRpcEngine$Invoker.invoke(ProtobufRpcEngine.java:232) 
    at com.sun.proxy.$Proxy23.getClusterMetrics(Unknown Source) 
    at org.apache.hadoop.yarn.api.impl.pb.client.ApplicationClientProtocolPBClientImpl.getClusterMetrics(ApplicationClientProtocolPBClientImpl.java:202) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) 
    at sun.reflect.DelegatingMethod 

微软R服务器,如Hadoop上运行的客户端的微软R服务器不支持Kerberos身份验证。它已经使用Cloudera,Hortonworks HDP和MapR进行了测试。

当在Microsoft R Server(客户端)上将计算上下文设置为RxHadoopMR()时,可以在Hadoop集群上远程执行R脚本,并且只要所有节点具有有效的Kerberos票证,您应该都是组。

请参阅:https://msdn.microsoft.com/en-us/microsoft-r/rserver-install-hadoop在Hadoop上安装Microsoft R Server。

和:https://msdn.microsoft.com/en-us/microsoft-r/rserver-install-windows用于在Windows上安装Microsoft R Server。