Estou tentando instalar o Hadoop na versão Ubuntu 12.04. Seguindo as instruções de
http://michael-noll.com/tutorials/running-hadoop-on-ubuntu-linux-single-node-cluster/ , instalei java-6-openjdk
no Ubuntu software-center. Tenho posto java_home
em .bashrc
. Também definido java_home
no Hadoop conf/env.sh
. Ao formatar o namenode, estou recebendo o seguinte erro:
usr/lib/jvm/java-6-openjdk/bin/java no such file or directory.
Obrigado. Mas é um sistema operacional de 64 bits.
Respostas:
Os guias que segui quando tinha 12.04 foram:
Na verdade, eu era contra o MyLearning, porque a primeira coisa que recomendou foi o Oracle Java 7 em vez do OpenJDK 7, mas tive alguns problemas com o OpenJDK 7 ao tentar fazer isso, então tive que ir com o Oracle.
O guia é mais direto e aqui está:
Instale Java
Criar usuário do Hadoop
Onde hduser é o usuário do Hadoop que você deseja ter.
Configurando SSH
Para ter certeza de que a instalação do SSH foi bem, você pode abrir um novo terminal e tentar criar uma sessão ssh usando
hduser
o seguinte comando:reinstale o ssh se o host local não se conectar (pode ser necessário adicionar
hduser
ao sudo como na etapa abaixo)Editar sudoers
Adicione no final a linha para adicionar hduser aos sudoers
Para salvar, pressione CTRL+ X, digite Ye pressioneENTER
Desativar IPv6
ou
Copie as seguintes linhas no final do arquivo:
Se você tiver um problema dizendo a você, não tem permissões, basta executar o comando anterior com a conta root (caso o sudo não seja suficiente. Para mim foi)
Agora reinicie.
Você também pode fazer,
sudo sysctl -p
mas prefiro reiniciar.Após a reinicialização, verifique se o IPv6 está desativado:
deve dizer 1 . Se diz 0 , você perdeu alguma coisa.
Instalando o Hadoop
Existem várias maneiras de fazer isso, o que o Guia sugere é fazer o download no site Apache Hadoop e descompactar o arquivo na sua
hduser
pasta pessoal. Renomeie a pasta extraída parahadoop
.A outra maneira é usar um PPA que foi testado para 12.04:
NOTA: O PPA pode funcionar para alguns e para outros não. O que eu tentei foi fazer o download do site oficial porque eu não sabia sobre o PPA.
Atualizar
$HOME/.bashrc
Você precisará atualizar o
.bashrc
parahduser
(e para cada usuário que você precisa administrar o Hadoop). Para abrir o.bashrc
arquivo, você precisará abri-lo como root:ou
Em seguida, você adicionará as seguintes configurações no final do
.bashrc
arquivoAgora, se você tiver o OpenJDK7, seria algo como isto:
O que deve ser observado aqui é a pasta em que o Java reside com a versão AMD64. Se o acima não funcionar, tente procurar nessa pasta específica ou definir o Java que será usado com:
Agora, para alguns alias úteis:
Configurando o Hadoop
A seguir estão os arquivos de configuração que podemos usar para fazer a configuração adequada. Alguns dos arquivos que você usará com o Hadoop são (Mais informações neste site ):
start-dfs.sh
- Inicia os daemons do Hadoop DFS, o namenode e os datanodes. Use isso antes do start-mapred.shstop-dfs.sh
- Pára os daemons do Hadoop DFS.start-mapred.sh
- Inicia o Hadoop Map / Reduce daemons, o jobtracker e tasktrackers.stop-mapred.sh
- Pára o mapa do Hadoop / reduz os daemons.start-all.sh
- Inicia todos os daemons do Hadoop, o nó de nome, o tipo de dados, o gerenciador de tarefas e os gerenciadores de tarefas. Descontinuada; use start-dfs.sh e start-mapred.shstop-all.sh
- Pára todos os daemons do Hadoop. Descontinuada; use stop-mapred.sh e stop-dfs.shMas antes de começarmos a usá-los, precisamos modificar vários arquivos na
/conf
pasta.hadoop-env.sh
Procure o arquivo
hadoop-env.sh
, precisamos atualizar apenas a variável JAVA_HOME neste arquivo:ou
ou nas versões mais recentes estará em
ou
Altere a seguinte linha:
Para
Nota: se você receber um
Error: JAVA_HOME is not set
erro ao iniciar os serviços, esqueceu de descomentar a linha anterior (basta remover #).core-site.xml
Agora precisamos criar um diretório temporário para a estrutura do Hadoop. Se você precisar desse ambiente para teste ou para um protótipo rápido (por exemplo, desenvolva programas hadoop simples para seu teste pessoal ...), sugiro criar esta pasta no
/home/hduser/
diretório, caso contrário, você deve criar essa pasta em um local compartilhado na pasta compartilhada ( como / usr / local ...), mas você pode enfrentar alguns problemas de segurança. Mas, para superar as exceções que podem ser causadas pela segurança (como java.io.IOException), criei a pasta tmp no espaço do hduser.Para criar esta pasta, digite o seguinte comando:
Observe que se você quiser criar outro usuário administrador (por exemplo, hduser2 no grupo hadoop), conceda a ele uma permissão de leitura e gravação nesta pasta usando os seguintes comandos:
Agora, podemos abrir
hadoop/conf/core-site.xml
para editar a entrada hadoop.tmp.dir. Podemos abrir o core-site.xml usando o editor de texto:ou
Em seguida, adicione as seguintes configurações entre os
<configure>
elementos xml :Agora edite
mapred-site.xml
Agora edite
hdfs-site.xml
Formatando NameNode
Agora você pode começar a trabalhar no Nó. Primeiro formato:
ou
Você deve formatar o NameNode no seu HDFS. Você não deve executar esta etapa quando o sistema estiver em execução. Geralmente isso é feito uma vez na primeira vez da sua instalação.
Iniciando o Hadoop Cluster
Você precisará navegar para o diretório hadoop / bin e executar o
./start-all.sh
script.Se você possui uma versão diferente da mostrada nos guias (que você provavelmente terá se fizer isso com o PPA ou uma versão mais recente), tente da seguinte maneira:
Isso iniciará um Namenode, Datanode, Jobtracker e um Tasktracker em sua máquina.
Verificando se o Hadoop está em execução
Existe uma boa ferramenta chamada
jps
. Você pode usá-lo para garantir que todos os serviços estejam ativos. Na sua pasta hadoop bin, digite:Ele deve mostrar todos os processos relacionados ao Hadoop.
NOTA: Como isso foi feito há cerca de 6 meses para mim, se houver alguma peça que não funcione, entre em contato.
Hadoop usando Juju (um encanto de Juju para Hadoop)
Retirado do Charming Hadoop
Assumirei que o seguinte já está configurado:
~/.juju/environments.yaml
com as informações sobre o servidor que usará, incluindo a origem do PPA.Agora, siga estas etapas para executar um serviço Hadoop:
Inicialize o ambiente para o Hadoop
Aguarde até terminar e verifique se está se conectando corretamente:
Implantar o Hadoop (mestre e escravo)
Criar relações
Expor o Hadoop (Como você já implementou e criou relações, o serviço deve estar em execução)
E verifique o status para ver se está funcionando corretamente:
Até agora você tem um Hadoop em execução. Há muitas outras coisas que você pode fazer que podem ser encontradas no link fornecido ou no encanto oficial de Juju para Hadoop
Para os JuJu Charms atualizados (configurações, guia passo a passo e muito mais), você pode visitar: JuJu Charms e criar seu próprio ambiente JuJu e ver como cada arquivo é configurado e como cada serviço se conecta.
fonte
hduser (ALL)=(ALL:ALL) ALL
lança erro de sintaxe ...hduser ALL=(ALL:ALL) ALL
, remover o primeiro par de suportes.bachrc
- espere até Johann Sebastian ouvir isso. Oh, espere, ele não pode ... porque ele é surdo. :-DInstalei o Hadoop com êxito definindo o caminho de
JAVA_HOME
comousr/lib/jvm/java-6-openjdk-amd64
.fonte
Derivado de @Luis Alvarado resposta , aqui é a minha versão para o Ubuntu 14.04 e Hadoop 2.5.1
Em resumo
hduser
hduser
partir de agorahduser
controle remoto via ssh com menos frasesFeito. Boa sorte!
Etapas detalhadas
Instale Java
Baixar e instalar
Certifique-se de ter o Java7 instalado
deveríamos ter
java
apontado para/usr/lib/jvm/java-7-oracle/jre/bin/java
Prepare um usuário executivo para o Hadoop
hduser
Criar usuário
hduser
no grupohadoop
Conceda
hduser
o privilégio sudoEditar sudo
Adicione ao final esta linha
Mudar para a
hduser
partir de agoraPermitir o
hduser
controle remoto via ssh com menos frasesInstalar o openssh
Gere chave pública / privada RSA para conexão SSH; a senha está vazia como
parameter -P ""
Certifique-se de
hduser
poder ssh remoto localmente sem uma senhaDesativar IPv6
Edite o arquivo de configuração
Copiar para o final
Verifique se o IPv6 está desativado por uma reinicialização ou chamada
Então ligue
Deve dizer 1, o que significa OK ^^
Baixe e configure o pacote Hadoop
Faça o download dos pacotes do Hadoop 2.5.1 no site Apache Hadoop
A URL direta para este pacote é este link
Então, vamos fazer o download para
hduser
a pasta inicial, extraí-la e renomeá-la parahadoop
Verifique se o Hadoop está armazenado em
hduser
casaPrepare o caminho do sistema $ HADOOP_HOME e $ JAVA_HOME
Edite
hduser
o arquivo .bashrcColoque os valores finais para
$HADOOP_HOME
e$JAVA_HOME
Adicione as
binary
pastas do Hadoop ao sistema$PATH
Abra um novo terminal, efetue login como
hduser
e verifique se você possui $ HADOOP_HOME com os comandos disponíveisDeveríamos ver o caminho completo desses nomes.
Configurar os serviços do Hadoop
Cada componente no Hadoop é configurado usando um arquivo XML.
Propriedades comuns estão no core-site.xml
As propriedades do HDFS estão em hdfs-site.xml
As propriedades do MapReduce vão para mapred-site.xml
Esses arquivos estão todos localizados na pasta $ HADOOP_HOME / etc / hadoop
Defina novamente JAVA_HOME
hadoop-env.sh
editando a linhaDefina o Hadoop
temp folder
e ofile system
nome em core-site.xml emPrecisamos preparar isso
temp folder
como configurado em/home/hduser/tmp
Definir
file system
éblock replication
em hdfs-site.xmlDefinir
map-reduce job
em mapred-site.xmlFormato
name node
Iniciar serviço Hadoop
Ligar
esses dois comandos estão localizados em $ HADOOP_HOME / sbin, que adicionamos ao sistema $ PATH antes.
Verifique se os serviços do Hadoop foram iniciados corretamente
nós deveríamos ver
fonte
mapred-site.xml
não existe no começo. Deve ser criado porcp mapred-site.xml.template mapred-site.xml
Para poder instalar
sun-java
com oapt-get
comando, você precisa adicionar uma linha a um arquivo chamadosources.list
. Este arquivo pode ser encontrado em/etc/apt/sources.list
.Abra o arquivo usando este comando:
Então, no final desse arquivo, copie / cole a linha:
Agora pressione Ctrl+ Xpara sair e ypara salvar.
Agora digite o comando:
E quando isso é feito, você pode executar com êxito o comando:
fonte
Para um tutorial mais atualizado (não tenho certeza das diferenças), veja os tutoriais em vídeo dos screencasts do hadoop . Eles fornecem vídeo e os comandos reais para instalar embaixo. Além disso, se você enviar um e-mail ao escritor, ele ficará muito feliz em responder e ajudá-lo se você ficar preso em alguma coisa.
Essas instruções são muito parecidas com as que o @Luis respondeu.
fonte