/ De cluster Hadoop / Hadoop com o Ubuntu Master e o Windows slave - hadoop

Configuração de cluster do Hadoop com o Ubuntu Master e o Windows slave - hadoop

Oi eu sou novo no Hadoop.

Versão do Hadoop (2.2.0)

Objetivos:

  1. Configurar o Hadoop standalone - Ubuntu 12 (Concluído)
  2. Configurar o Hadoop autônomo - Windows 7 (o cygwin sendo usado apenas para sshd) (Concluído)
  3. Configurar cluster com o Ubuntu Master e o Windows 7 slave (Isso é principalmente para fins de aprendizado e configuração de um env para desenvolvimento) (Preso)

Configuração em relação às questões abaixo:

  • Mestre rodando no Ubuntu com hadoop 2.2.0
  • Escravos rodando no Windows 7 com uma versão auto-compilada da fonte hadoop 2.2.0. Eu estou usando cygwin apenas para o sshd
  • senha menos configuração de login e eu sou capaz de fazer o loginambos os modos usando ssh de fora hadoop. Desde que minha máquina Ubuntu e Windows nomes de usuários diferentes Eu configurei um arquivo de configuração na pasta .ssh que mapeia hosts com usuários

Questões:

  1. Em um cluster, o nome de usuário no mestre precisaser o mesmo que no escravo. A razão pela qual estou perguntando isso é que pós-configuração do cluster quando eu tento usar start-dfs.sh os logs dizem que eles são capazes de ssh nos nós escravos, mas não foram capazes de encontrar o local "/ home / xxx / hadoop / bin / hadoop-daemon.sh "no escravo. O "xxx" é o meu nome de usuário principal e não o slaveone. Também desde que meu escravo na versão do Windows puro a instalação está sob C: / hadoop / ... O mestre olha para a variável env $ HADOOP_HOME para verificar onde a instalação está no escravo? Existe alguma outra variável env que eu preciso definir?

  2. Meu objetivo era usar o hadoop do Windowsescravo desde que o hadoop está oficialmente suportando windows agora. Mas é melhor rodar o Linux sob o cygwin para conseguir isso? A questão vem desde que eu estou vendo que o start-dfs.sh está tentando executar o hadoop-daemon.sh e não alguns * .cmd.

  3. Se esta configuração funcionar no futuro, uma possívelpergunta que eu tenho é se Pig, Mahout etc será executado neste tipo de configuração como eu não vi uma compilação de Pig, Mahout for Windows. Esses componentes precisam estar presentes apenas no nó mestre ou precisam estar nos nós escravos também. Eu vi duas maneiras de executar o mahout ao experimentar com o modo autônomo primeiro usando o script mahout que eu era capaz de usar no linux e segundo usando o comando yarn jar onde passei no jarro de mahout enquanto usava a versão do windows. No caso do Mahout / Pig (quando se usa o script sh fornecido) assumirá que os escravos já possuem os jars no lugar, então o combo Ubuntu + Windows parece não funcionar. Conselho por favor.

Como mencionei, isso é mais uma experiência do que um plano de implementação. Nosso env final estará completamente no linux. Obrigado por suas sugestões.

Respostas:

1 para resposta № 1

Você pode ter mais sucesso com maneiras mais padronizadas de implementar o hadoop. Experimente usar o ubuntu vm "s para master e slaves.

Você também pode tentar executar uma implantação pseudo-distribuída na qual todos os processos são executados em uma única VM e, assim, evitar a necessidade de considerar vários "os".


1 para resposta № 2

Eu trabalhei apenas com o mesmo nome de usuário. Em geral, o SSH permite efetuar login com um nome de login diferente com o comando -l. Mas isso pode ficar complicado. Você tem que listar seus escravos no arquivo escravos.

Pelo menos no manual https://hadoop.apache.org/docs/r0.19.1/cluster_setup.html#Slaves Eu não encontrei nada para adicionar nomes de usuários. pode valer a pena tentar adicionar -l login_name ao slavenode no arquivo conf slave e ver se funciona.