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
hduser
partir de agora
- Permitir o
hduser
controle 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 java
apontado para/usr/lib/jvm/java-7-oracle/jre/bin/java
Prepare um usuário executivo para o Hadoophduser
Criar usuário hduser
no grupohadoop
$ sudo addgroup hadoop
$ sudo adduser --ingroup hadoop hduser
Conceda hduser
o privilégio sudo
Editar sudo
$ sudo visudo
Adicione ao final esta linha
hduser ALL=(ALL:ALL) ALL
Mudar para a hduser
partir de agora
$ su - hduser
Permitir o hduser
controle 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 hduser
poder 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 hduser
a 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 hduser
casa
$ ls /home/hduser/hadoop
Prepare o caminho do sistema $ HADOOP_HOME e $ JAVA_HOME
Edite hduser
o arquivo .bashrc
$ nano .bashrc
Coloque os valores finais para $HADOOP_HOME
e$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 binary
pastas do Hadoop ao sistema$PATH
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
Abra um novo terminal, efetue login como hduser
e 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.sh
editando a linha
export JAVA_HOME=/usr/lib/jvm/java-7-oracle
Defina o Hadoop temp folder
e o file system
nome 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 folder
como configurado em/home/hduser/tmp
$ cd /home/hduser
$ mkdir tmp
$ chown hduser:hadoop tmp
$ chmod 755 tmp
Definir file system
é block replication
em 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 job
em 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