本文說明如何從 Windows 用戶端之外使用叢集 ssh Cygwin 環境中,執行 Hadoop 叢集中的革命 R 企業指令碼。
-
安裝和設定每革命 R 企業 7.3 Hadoop 組態指南 》的 Hadoop 叢集中的革命 R 企業 7.3。從叢集使用驗證指令碼從 [4] 區段內執行指令碼時,請確認叢集中的 RRE 操作。
-
用戶端的 Windows 系統上安裝革命 R 企業的 Windows 7.3。
-
在用戶端正在確認將 Windows 系統中安裝 Cygwin 環境 ssh 用戶端元件。請確認 ssh Windows 用戶端系統的 R/Hadoop 使用者的登入功能。
-
設定 passwordless ssh R/Hadoop 使用者藉由建立 ssh Hadoop namenode,為使用者和用戶端上的金鑰組。您可以在這裡找到有關執行此操作的資訊︰
http://inside.mines.edu/fs_home/gmurray/HowTo/sshNotes.html
或視需要以符合安全性需求,從您的 IT 小組取得協助。在 Windows 用戶端上儲存私用的.pem 機碼。例如,"C:\data\hdp.pem"。 -
手動確認 passwordless 使用者的登入 R (ex︰ 陳俊銘) 從 Cygwin 撞到使用金鑰的 namenode 的工作階段︰
$ ssh -i c:/data/hdp.pem scott@<namenode hostname or ip>
-
如果手動測試登入成功,請修改 Hadoop 計算內容,用於執行從叢集中的指令碼時包含 ssh 所需的用戶端的連線資訊。例如︰
基本的 hadoop 計算從叢集節點執行指令碼時使用的內容myHadoopCluster <- RxHadoopMR(consoleOutput = TRUE)
cluster <- rxSetComputeContext(myHadoopCluster)
擴充使用執行指令碼時從 Windows 用戶端透過 Cygwin ssh 的 hadoop 計算內容。mySshUsername <- "scott"mySshHostname <- "<namenode hostname or ip>"
myShareDir <- paste("/var/RevoShare", mySshUsername, sep ="/")
myHdfsShareDir <- paste("/user/RevoShare",mySshUsername, sep="/")
myHadoopCluster <- RxHadoopMR(
hdfsShareDir = myHdfsShareDir,
shareDir = myShareDir,
sshUsername = mySshUsername,
sshHostname = mySshHostname,
sshSwitches = "-i c:\\data\\hdp.pem",
consoleOutput = TRUE)
cluster <- rxSetComputeContext(myHadoopCluster)SshSwitches 值可能用來送出其他引數,視需要 ssh 用戶端,例如非預設 ssh 連接埠。
-
測試革命 R 企業來自 Windows 用戶端上的 R 指令碼。指令碼應使用此連線 Cygwin ssh 用戶端在背景中送出在 namenode 上執行的指令碼。
請參閱RevoScaleR Hadoop [] 入門指南,如需詳細資訊。