本文說明如何執行革命 R 企業指令碼在 Hadoop 叢集中使用 PuTTY ssh 叢集以外的 Windows 用戶端從用戶端。
-
安裝和設定每革命 R 企業 7.3 Hadoop 組態指南 》的 Hadoop 叢集中的革命 R 企業 7.3。從叢集使用驗證指令碼從 [4] 區段內執行指令碼時,請確認叢集中的 RRE 操作。
-
用戶端的 Windows 系統上安裝革命 R 企業的 Windows 7.3。
-
PuTTY ssh 用戶端在用戶端安裝 Windows 系統。請確認 ssh Windows 用戶端系統的 R/Hadoop 使用者的登入功能。
-
設定 passwordless ssh R/Hadoop 使用者藉由建立 ssh Hadoop namenode,為使用者和用戶端上的金鑰組。您可以在這裡找到有關執行此操作的資訊︰
https://cs.uwaterloo.ca/cscf/howto/ssh/public_key/#putty
或視需要以符合安全性需求,從您的 IT 小組取得協助。在 Windows 用戶端上儲存私用的.ppk 機碼。例如,"C:\data\hdp.ppk"。 -
在 PuTTY 的用戶端,建立並儲存已命名的 PuTTY 工作階段登入從用戶端至 Hadoop namenode。例如,"RREHDP"。
-
手動確認 passwordless 的登入和 R 使用者 (ex︰ 陳俊銘) 使用 PuTTY 的 plink.exe 工具、 已儲存的工作階段,以及金鑰︰
"C:\\Program Files (x86)\\PuTTY\\plink.exe" -i C:\data\hdp.ppk -l scott -load RREHDP
-
如果 plink.exe 測試登入成功,請修改 Hadoop 計算內容,用於執行從叢集中的指令碼時包含 ssh 所需的用戶端的連線資訊。例如︰
基本的 hadoop 計算從叢集節點執行指令碼時使用的內容myHadoopCluster <- RxHadoopMR(consoleOutput = TRUE)
cluster <- rxSetComputeContext(myHadoopCluster)擴充使用當從 Windows 用戶端執行指令碼,透過 PuTTY 的 hadoop 計算內容。注意當使用 PuTTY,mySshHostname 應該不namenode 的主機名稱,請參閱。該資訊是儲存 PuTTY 的工作階段。在指令碼中,mySshHostname 應該設已儲存的工作階段的名稱。
mySshUsername <- "scott"mySshHostname <- "RREHDP"
myShareDir <- paste("/var/RevoShare", mySshUsername, sep ="/")
myHdfsShareDir <- paste("/user/RevoShare",mySshUsername, sep="/")
myHadoopCluster <- RxHadoopMR(
hdfsShareDir = myHdfsShareDir,
shareDir = myShareDir,
sshUsername = mySshUsername,
sshHostname = mySshHostname,
sshClientDir = "C:\\Program Files (x86)\\PuTTY",
sshSwitches = "-i c:\\data\\hdp.ppk",
consoleOutput = TRUE)
cluster <- rxSetComputeContext(myHadoopCluster)SshSwitches 值可能用來送出其他引數,視需要 ssh 用戶端,例如非預設 ssh 連接埠。
-
測試革命 R 企業來自 Windows 用戶端上的 R 指令碼。指令碼應使用此連線的 PuTTY ssh 用戶端在背景中送出在 namenode 上執行的指令碼。
請參閱RevoScaleR Hadoop [] 入門指南,如需詳細資訊。