Este artigo descreve como executar um script de revolução R Enterprise em um cluster de Hadoop de um cliente Windows fora do cluster usando ssh em um ambiente Cygwin.
-
Instalar e configurar o Enterprise R de revolução 7.3 no cluster Hadoop acordo com o Guia de configuração do revolução R Enterprise 7.3 Hadoop. Verifique se a operação de RRE do cluster quando o script for executado a partir do cluster usando o script de validação da seção 4.
-
Instale revolução R Enterprise para Windows 7.3 no sistema Windows do cliente.
-
Instale o ambiente Cygwin no cliente Windows system, certificando-se de incluir o ssh componentes cliente. Verifique se o ssh funcionalidade de login do usuário R/Hadoop do sistema cliente Windows.
-
Configurar passwordless ssh para o usuário R/Hadoop criando um ssh par de chaves no cliente e no namenode Hadoop para o usuário. Informações sobre como fazer isso podem ser encontradas aqui:http://inside.mines.edu/fs_home/gmurray/HowTo/sshNotes.html ou Obtenha assistência de seu grupo de TI conforme necessário para atender aos requisitos de segurança. Salve a chave particular .pem no cliente Windows. Por exemplo, "C:\data\hdp.pem".
-
Verificar manualmente o logon do usuário R passwordless (ex: scott) de um Cygwin bash o namenode usando a chave de sessão:
$ ssh -i c:/data/hdp.pem scott@<namenode hostname or ip>
-
Se o logon teste manual for bem-sucedida, modificar o contexto de computação Hadoop usado ao executar o script a partir do cluster para incluir ssh informações de conexão necessárias pelo cliente. Por exemplo:
Hadoop básica de computação contexto usado ao executar o script de um nó de clustermyHadoopCluster <- RxHadoopMR(consoleOutput = TRUE)
cluster <- rxSetComputeContext(myHadoopCluster)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)O valor de sshSwitches pode ser usado para enviar outros argumentos conforme necessário para o ssh cliente, como um não-padrão porta ssh.
-
Teste o script de R de revolução R corporativa no cliente Windows. O script deve se conectar usando o Cygwin ssh cliente no plano de fundo para enviar o script para a execução de namenode.
Consulte o RevoScaleR Hadoop Getting Started Guide para obter mais informações.