我正在尝试使用SparkR软件包从RStudio桌面(Windows)连接我的HDP群集。

Spark初始化失败,没有凭证错误消息,这似乎是由于缺少kerberos凭证。 (可以在下面找到确切的错误消息)我已经有一个kerberos代码,但是发现RStudio桌面不支持Kerberos身份验证,而我需要RStudio Server Pro。但是,似乎RStudio服务器Pro无法安装在Windows上。

如果我要坚持当前基于Windows的R和RStudio环境,是否还有其他方法可以连接Hadoop?

另外,核心R本身(没有RStudio)中是否可以使用任何软件包来向Hadoop集群进行身份验证?

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

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

最佳答案

Windows上的Microsoft R Server作为在Hadoop上运行的Microsoft R Server的客户端,确实支持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。

关于r - Windows R的Kerberos身份验证,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43850322/

10-11 22:38
查看更多