Denne artikkelen beskriver hvordan du kjører en revolusjon R Enterprise-skript i en klynge Hadoop fra en Windows-klient utenfor klyngen ved hjelp av ssh i et miljø med Cygwin.
-
Installer og Konfigurer revolusjon R Enterprise 7.3 i klyngen Hadoop per Revolusjon R Enterprise 7.3 Hadoop Configuration Guide. Kontroller at RRE i klyngen når skriptet kjøres fra klyngen ved hjelp av valideringsskriptet fra 4-delen.
-
Installere revolusjon R Enterprise for Windows 7.3 på klienten Windows system.
-
Installere Cygwin miljøet på klienten Windows system å huske å ta med i ssh klientkomponenter. Kontroller ssh login muligheten for bruker R/Hadoop fra Windows-klient-system.
-
Konfigurere passwordless ssh for bruker R/Hadoop ved å opprette en ssh nøkkelpar på klienten og Hadoop-namenode for brukeren. Informasjon om hvordan du gjør dette finnes her:http://inside.mines.edu/fs_home/gmurray/HowTo/sshNotes.htmleller du kan få hjelp fra IT-gruppe som trengs for å overholde sikkerhetskrav til. Lagre private .pem-nøkkelen i Windows-klienten. For eksempel "C:\data\hdp.pem".
-
Manuelt kontrollere passwordless pålogging for bruker R (ex: scott) fra en Cygwin bash økt til namenode ved hjelp av nøkkelen:
$ ssh -i c:/data/hdp.pem scott@<namenode hostname or ip>
-
Hvis manuell test påloggingen er vellykket, kan du endre Hadoop compute kontekst som brukes når du kjører skriptet fra innenfor sektorgruppen til å inkludere ssh tilkoblingsinformasjon som trengs av klienten. For eksempel:Grunnleggende hadoop beregne kontekst som brukes når du kjører skriptet fra en klyngenode
myHadoopCluster <- RxHadoopMR(consoleOutput = TRUE)cluster <- rxSetComputeContext(myHadoopCluster)
Utvidet hadoop compute kontekst som brukes når du kjører skriptet fra en Windows-klient via Cygwin ssh.
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-verdien kan brukes til å sende andre argumenter som trengs for å det ssh klient, for eksempel en ikke-standard ssh-port.
-
Test skriptet R fra revolusjon R virksomhet på Windows-klienten. Skriptet skal koble til ved hjelp av Cygwin ssh klient i bakgrunnen for å sende skriptet for kjøring på namenode.
Se RevoScaleR Hadoop håndboken Komme i gang for mer informasjon.