En este artículo se describe cómo ejecutar una secuencia de comandos de revolución R Enterprise en un clúster Hadoop desde un cliente de Windows fuera del clúster mediante un PuTTY ssh cliente.
-
Instalar y configurar Enterprise R de revolución 7.3 del clúster Hadoop por la Guía de configuración de Hadoop de revolución R Enterprise 7.3. Comprobar el funcionamiento de RRE del clúster cuando se ejecuta la secuencia de comandos desde el clúster con el script de validación de la sección 4.
-
Instalar revolución R Enterprise para Windows 7.3 en el cliente de sistema de Windows.
-
Instale el PuTTY ssh cliente en el cliente de sistema de Windows. Comprobar ssh funcionalidad de inicio de sesión para el usuario R/Hadoop desde el sistema cliente Windows.
-
Configurar conexión ssh para el usuario R/Hadoop creando un ssh par de claves en el cliente y en el namenode de Hadoop para el usuario. Aquí encontrará información sobre cómo hacerlo:
https://cs.uwaterloo.ca/cscf/howto/ssh/public_key/#putty
o bien, obtener asistencia de su grupo de TI según sea necesario para cumplir con los requisitos de seguridad. Guarde la clave privada .ppk en el cliente de Windows. Por ejemplo, "C:\data\hdp.ppk". -
En el cliente PuTTY, cree y guarde una sesión con nombre masilla para el inicio de sesión desde el cliente a la namenode de Hadoop. Por ejemplo, "RREHDP".
-
Comprobar manualmente el inicio de sesión de conexión y el usuario R (ex: scott) usando la herramienta de plink.exe de masilla, la sesión guardada y la clave:
"C:\\Program Files (x86)\\PuTTY\\plink.exe" -i C:\data\hdp.ppk -l scott -load RREHDP
-
Si el inicio de sesión de prueba plink.exe es correcta, modificar el contexto de compute de Hadoop utilizado cuando se ejecuta la secuencia de comandos de clúster para incluir ssh información de conexión necesaria por el cliente. Por ejemplo:
Hadoop básica calcular contexto utilizado cuando se ejecuta la secuencia de comandos desde un nodo de clústermyHadoopCluster <- RxHadoopMR(consoleOutput = TRUE)
cluster <- rxSetComputeContext(myHadoopCluster)Extendido hadoop compute contexto utilizado cuando se ejecuta la secuencia de comandos desde un cliente Windows a través de PuTTY. Tenga en cuenta al utilizar masilla, debe mySshHostname no hacen referencia al nombre de host namenode. Que la información esté en la sesión de masilla guardada. En el script, mySshHostname debe establecerse en el nombre de la sesión guardada.
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)El valor de sshSwitches puede utilizarse para enviar otros argumentos según sea necesario para el ssh cliente, como un valor no predeterminado puerto ssh.
-
Probar la secuencia de comandos de revolución de empresa R R en el cliente de Windows. La secuencia de comandos debe conectarse mediante el PuTTY ssh cliente en segundo plano para enviar la secuencia de comandos para su ejecución en el namenode.
Consulte la RevoScaleR Hadoop Guía de introducción para obtener más información.