2017-05-08 112 views
2

我正嘗試使用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 

回答

1

微軟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。