Derivado de @Luis Alvarado resposta , aqui é a minha versão para o Ubuntu 14.04 e Hadoop 2.5.1
Em resumo
- Instale Java
- Prepare um usuário executivo para o Hadoop
hduser
- Mudar para a
hduserpartir de agora
- Permitir o
hdusercontrole remoto via ssh com menos frases
- Desativar IPv6
- Baixe e configure o pacote Hadoop
- Prepare o caminho do sistema $ HADOOP_HOME e $ JAVA_HOME
- Configurar os serviços do Hadoop
- Iniciar os serviços do Hadoop
Feito. Boa sorte!
Etapas detalhadas
Instale Java
Baixar e instalar
$ sudo add-apt-repository ppa:webupd8team/java
$ sudo apt-get update && sudo apt-get upgrade
$ sudo apt-get install oracle-java7-installer
Certifique-se de ter o Java7 instalado
$ which java
$ ls -l /usr/bin/java
$ ls -l /etc/alternatives/java
deveríamos ter javaapontado para/usr/lib/jvm/java-7-oracle/jre/bin/java
Prepare um usuário executivo para o Hadoophduser
Criar usuário hduserno grupohadoop
$ sudo addgroup hadoop
$ sudo adduser --ingroup hadoop hduser
Conceda hdusero privilégio sudo
Editar sudo
$ sudo visudo
Adicione ao final esta linha
hduser ALL=(ALL:ALL) ALL
Mudar para a hduserpartir de agora
$ su - hduser
Permitir o hdusercontrole remoto via ssh com menos frases
Instalar o openssh
$ sudo apt-get install openssh-server
Gere chave pública / privada RSA para conexão SSH; a senha está vazia comoparameter -P ""
$ ssh-keygen -t rsa -P ""
$ cat .ssh/id_rsa.pub >> .ssh/authorized_keys
Certifique-se de hduserpoder ssh remoto localmente sem uma senha
$ ssh localhost
Desativar IPv6
Edite o arquivo de configuração
$ sudo nano /etc/sysctl.conf
Copiar para o final
#disable ipv6
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1
Verifique se o IPv6 está desativado por uma reinicialização ou chamada
$ sudo sysctl -p
Então ligue
$ cat /proc/sys/net/ipv6/conf/all/disable_ipv6
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
http://www.eu.apache.org/dist/hadoop/core/hadoop-2.5.1/hadoop-2.5.1.tar.gz
Então, vamos fazer o download para hdusera pasta inicial, extraí-la e renomeá-la parahadoop
$ wget http://www.eu.apache.org/dist/hadoop/core/hadoop-2.5.1/hadoop-2.5.1.tar.gz
$ tar -xvzf hadoop-2.5.1.tar.gz
$ mv hadoop-2.5.1 hadoop
Verifique se o Hadoop está armazenado em hdusercasa
$ ls /home/hduser/hadoop
Prepare o caminho do sistema $ HADOOP_HOME e $ JAVA_HOME
Edite hdusero arquivo .bashrc
$ nano .bashrc
Coloque os valores finais para $HADOOP_HOMEe$JAVA_HOME
# Set Hadoop-related environment variables
export HADOOP_HOME=/home/hduser/hadoop
# Set JAVA_HOME (we will also configure JAVA_HOME directly for Hadoop later on)
export JAVA_HOME=/usr/lib/jvm/java-7-oracle
Adicione as binarypastas do Hadoop ao sistema$PATH
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
Abra um novo terminal, efetue login como hdusere verifique se você possui $ HADOOP_HOME com os comandos disponíveis
$ echo $HADOOP_HOME
$ which start-all.sh
$ which start-dfs.sh
$ which start-yarn.sh
Deverí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.sheditando a linha
export JAVA_HOME=/usr/lib/jvm/java-7-oracle
Defina o Hadoop temp foldere o file systemnome em core-site.xml em
<configuration>
...
<property>
<name>hadoop.tmp.dir</name>
<value>/home/hduser/tmp</value>
<description>A base for other temporary directories.</description>
</property>
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:54310</value>
<description>The name of the default file system. A URI whose
scheme and authority determine the FileSystem implementation. The
uri's scheme determines the config property (fs.SCHEME.impl) naming
the FileSystem implementation class. The uri's authority is used to
determine the host, port, etc. for a filesystem.</description>
</property>
...
</configuration>
Precisamos preparar isso temp foldercomo configurado em/home/hduser/tmp
$ cd /home/hduser
$ mkdir tmp
$ chown hduser:hadoop tmp
$ chmod 755 tmp
Definir file systemé block replicationem hdfs-site.xml
<configuration>
...
<property>
<name>dfs.replication</name>
<value>1</value>
<description>Default block replication.
The actual number of replications can be specified when the file is created.
The default is used if replication is not specified in create time.
</description>
</property>
...
</configuration>
Definir map-reduce jobem mapred-site.xml
<configuration>
...
<property>
<name>mapred.job.tracker</name>
<value>localhost:54311</value>
<description>The host and port that the MapReduce job tracker runs
at. If "local", then jobs are run in-process as a single map
and reduce task.
</description>
</property>
...
</configuration>
Formato name node
$ hdfs namenode -format
Iniciar serviço Hadoop
Ligar
$ start-dfs.sh && start-yarn.sh
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
$ jps
nós deveríamos ver
