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.html
eller 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 klyngenodemyHadoopCluster <- 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.