Cet article décrit comment faire pour exécuter un script de révolution R Enterprise dans un cluster Hadoop à partir d’un client Windows en dehors du cluster à l’aide un PuTTY ssh client.
-
Installez et configurez la révolution R entreprise 7.3 du cluster Hadoop par le Guide de Configuration de révolution R Enterprise 7.3 Hadoop. Vérifiez le fonctionnement de RRE dans le cluster lorsque le script est exécuté au sein du cluster en utilisant le script de validation à partir de la section 4.
-
Installez Enterprise révolution R pour Windows 7.3 sur le système Windows du client.
-
Installez le PuTTY ssh client sur le système Windows du client. Vérifiez que ssh fonctionnalité de connexion de l’utilisateur R/Hadoop depuis le système client de Windows.
-
Configurer passwordless ssh pour l’utilisateur R/Hadoop en créant un ssh paire de clés sur le client et sur le namenode d’Hadoop pour l’utilisateur. Vous trouverez ici des informations sur cette procédure :
https://cs.uwaterloo.ca/cscf/howto/ssh/public_key/#putty
ou obtenir de l’aide à partir de votre groupe informatique comme nécessaires pour satisfaire aux exigences de sécurité. Enregistrer la clé privée .ppk sur le client Windows. Par exemple, « C:\data\hdp.ppk ». -
Dans le client de mastic, créer et enregistrer une session nommée mastic pour la connexion du client à le namenode d’Hadoop. Par exemple, « RREHDP ».
-
Vérifier manuellement la connexion passwordless et l’utilisateur R (ex : scott) à l’aide de la clé, la session enregistrée et outil de plink.exe de la PuTTY :
"C:\\Program Files (x86)\\PuTTY\\plink.exe" -i C:\data\hdp.ppk -l scott -load RREHDP
-
Si la connexion de test plink.exe réussit, modifier le contexte de calcul Hadoop utilisé lors de l’exécution du script à partir du cluster pour inclure ssh informations de connexion requises par le client. Par exemple :
Hadoop base calculer le contexte utilisé lors de l’exécution du script à partir d’un nœud de clustermyHadoopCluster <- RxHadoopMR(consoleOutput = TRUE)
cluster <- rxSetComputeContext(myHadoopCluster)Étendue de contexte de calcul hadoop utilisé lors de l’exécution du script à partir d’un client Windows via PuTTY. Remarque lors de l’utilisation de PuTTY, mySshHostname doit pas voir le nom d’hôte namenode. Ces informations sont dans la session de mastic enregistrée. Dans le script, mySshHostname doit être définie sur le nom de la session enregistrée.
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)La valeur de sshSwitches peut être utilisée pour soumettre les autres arguments que nécessaire pour le ssh client, tel qu’un élément non défini par défaut port ssh.
-
Tester le script R à partir de l’entreprise R de révolution sur le client Windows. Le script doit se connecter en utilisant le PuTTY ssh client en arrière-plan pour soumettre le script pour une exécution sur le namenode.
Consultez le RevoScaleR Hadoop Getting Started Guide pour plus d’informations.