Mahout - Meio Ambiente

Este capítulo ensina como configurar o mahout. Java e Hadoop são os pré-requisitos do mahout. Abaixo, estão as etapas para baixar e instalar o Java, Hadoop e Mahout.

Configuração de pré-instalação

Antes de instalar o Hadoop no ambiente Linux, precisamos configurar o Linux usando ssh(Capsula segura). Siga as etapas mencionadas abaixo para configurar o ambiente Linux.

Criação de um usuário

É recomendável criar um usuário separado para Hadoop para isolar o sistema de arquivos Hadoop do sistema de arquivos Unix. Siga as etapas abaixo para criar um usuário:

  • Abra o root usando o comando “su”.

  • Crie um usuário a partir da conta root usando o comando “useradd username”.

  • Agora você pode abrir uma conta de usuário existente usando o comando “su username”.

  • Abra o terminal Linux e digite os seguintes comandos para criar um usuário.

$ su
password:
# useradd hadoop
# passwd hadoop
New passwd:
Retype new passwd

Configuração e geração de chave SSH

A configuração do SSH é necessária para executar diferentes operações em um cluster, como iniciar, parar e operações de shell daemon distribuído. Para autenticar diferentes usuários do Hadoop, é necessário fornecer um par de chaves pública / privada para um usuário do Hadoop e compartilhá-lo com diferentes usuários.

Os comandos a seguir são usados ​​para gerar um par de valores de chave usando SSH, copiar as chaves públicas do formulário id_rsa.pub para authorized_keys e fornecer permissões de proprietário, leitura e gravação para o arquivo authorized_keys respectivamente.

$ ssh-keygen -t rsa
$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
$ chmod 0600 ~/.ssh/authorized_keys

Verificando ssh

ssh localhost

Instalando Java

Java é o principal pré-requisito para Hadoop e HBase. Em primeiro lugar, você deve verificar a existência de Java em seu sistema usando “java -version”. A sintaxe do comando da versão Java é fornecida a seguir.

$ java -version

Ele deve produzir a seguinte saída.

java version "1.7.0_71"
Java(TM) SE Runtime Environment (build 1.7.0_71-b13)
Java HotSpot(TM) Client VM (build 25.0-b02, mixed mode)

Se você não tiver o Java instalado em seu sistema, siga as etapas abaixo para instalar o Java.

Step 1

Baixe o java (JDK <versão mais recente> - X64.tar.gz) visitando o seguinte link: Oracle

Então jdk-7u71-linux-x64.tar.gz is downloaded em seu sistema.

Step 2

Geralmente, você encontra o arquivo Java baixado na pasta Downloads. Verifique e extraia ojdk-7u71-linux-x64.gz arquivo usando os seguintes comandos.

$ cd Downloads/
$ ls
jdk-7u71-linux-x64.gz
$ tar zxf jdk-7u71-linux-x64.gz
$ ls
jdk1.7.0_71 jdk-7u71-linux-x64.gz

Step 3

Para disponibilizar o Java para todos os usuários, você precisa movê-lo para o local “/ usr / local /”. Abra o root e digite os seguintes comandos.

$ su
password:
# mv jdk1.7.0_71 /usr/local/
# exit

Step 4

Para configurar PATH e JAVA_HOME variáveis, adicione os seguintes comandos para ~/.bashrc file.

export JAVA_HOME=/usr/local/jdk1.7.0_71
export PATH= $PATH:$JAVA_HOME/bin

Agora, verifique o java -version comando do terminal como explicado acima.

Baixando Hadoop

Depois de instalar o Java, você precisa instalar o Hadoop inicialmente. Verifique a existência do Hadoop usando o comando “Hadoop version” conforme mostrado abaixo.

hadoop version

Ele deve produzir a seguinte saída:

Hadoop 2.6.0
Compiled by jenkins on 2014-11-13T21:10Z
Compiled with protoc 2.5.0
From source with checksum 18e43357c8f927c0695f1e9522859d6a
This command was run using /home/hadoop/hadoop/share/hadoop/common/hadoopcommon-2.6.0.jar

Se o seu sistema não conseguir localizar o Hadoop, faça download do Hadoop e instale-o no sistema. Siga os comandos fornecidos abaixo para fazer isso.

Faça download e extraia o hadoop-2.6.0 do apache software Foundation usando os comandos a seguir.

$ su
password:
# cd /usr/local
# wget http://mirrors.advancedhosters.com/apache/hadoop/common/hadoop-
2.6.0/hadoop-2.6.0-src.tar.gz
# tar xzf hadoop-2.6.0-src.tar.gz
# mv hadoop-2.6.0/* hadoop/
# exit

Instalando Hadoop

Instale o Hadoop em qualquer um dos modos necessários. Aqui, estamos demonstrando as funcionalidades do HBase no modo pseudo-distribuído, portanto, instale o Hadoop no modo pseudo-distribuído.

Siga as etapas abaixo para instalar Hadoop 2.4.1 em seu sistema.

Etapa 1: Configurando o Hadoop

Você pode definir variáveis ​​de ambiente Hadoop anexando os seguintes comandos a ~/.bashrc Arquivo.

export HADOOP_HOME=/usr/local/hadoop
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME

export YARN_HOME=$HADOOP_HOME
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native

export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin
export HADOOP_INSTALL=$HADOOP_HOME

Agora, aplique todas as alterações no sistema em execução no momento.

$ source ~/.bashrc

Etapa 2: configuração do Hadoop

Você pode encontrar todos os arquivos de configuração do Hadoop no local “$ HADOOP_HOME / etc / hadoop”. É necessário fazer alterações nesses arquivos de configuração de acordo com sua infraestrutura Hadoop.

$ cd $HADOOP_HOME/etc/hadoop

Para desenvolver programas Hadoop em Java, você precisa redefinir as variáveis ​​de ambiente Java em hadoop-env.sh arquivo substituindo JAVA_HOME valor com a localização do Java em seu sistema.

export JAVA_HOME=/usr/local/jdk1.7.0_71

A seguir está a lista de arquivos que você deve editar para configurar o Hadoop.

core-site.xml

o core-site.xml arquivo contém informações como o número da porta usado para a instância do Hadoop, memória alocada para o sistema de arquivos, limite de memória para armazenamento de dados e o tamanho dos buffers de leitura / gravação.

Abra core-site.xml e adicione a seguinte propriedade entre as tags <configuration>, </configuration>:

<configuration>
   <property>
      <name>fs.default.name</name>
      <value>hdfs://localhost:9000</value>
   </property>
</configuration>

hdfs-site.xm

o hdfs-site.xmlarquivo contém informações como o valor dos dados de replicação, caminho do namenode e caminhos do datanode de seus sistemas de arquivos locais. Significa o local onde você deseja armazenar a infraestrutura do Hadoop.

Vamos supor os seguintes dados:

dfs.replication (data replication value) = 1

(In the below given path /hadoop/ is the user name.
hadoopinfra/hdfs/namenode is the directory created by hdfs file system.)
namenode path = //home/hadoop/hadoopinfra/hdfs/namenode

(hadoopinfra/hdfs/datanode is the directory created by hdfs file system.)
datanode path = //home/hadoop/hadoopinfra/hdfs/datanode

Abra este arquivo e adicione as seguintes propriedades entre as marcas <configuration>, </configuration> neste arquivo.

<configuration>
   <property>
      <name>dfs.replication</name>
      <value>1</value>
   </property>
	
   <property>
      <name>dfs.name.dir</name>
      <value>file:///home/hadoop/hadoopinfra/hdfs/namenode</value>
   </property>
	
   <property>
      <name>dfs.data.dir</name>
      <value>file:///home/hadoop/hadoopinfra/hdfs/datanode</value>
   </property>
</configuration>

Note:No arquivo acima, todos os valores das propriedades são definidos pelo usuário. Você pode fazer alterações de acordo com sua infraestrutura Hadoop.

mapred-site.xml

Este arquivo é usado para configurar o yarn no Hadoop. Abra o arquivo mapred-site.xml e adicione a seguinte propriedade entre as marcas <configuration>, </configuration> neste arquivo.

<configuration>
   <property>
      <name>yarn.nodemanager.aux-services</name>
      <value>mapreduce_shuffle</value>
   </property>
</configuration>

mapred-site.xml

Este arquivo é usado para especificar qual estrutura MapReduce estamos usando. Por padrão, o Hadoop contém um modelo de mapred-site.xml. Em primeiro lugar, é necessário copiar o arquivo demapred-site.xml.template para mapred-site.xml arquivo usando o seguinte comando.

$ cp mapred-site.xml.template mapred-site.xml

Abrir mapred-site.xml arquivo e adicione as seguintes propriedades entre as marcas <configuration>, </configuration> neste arquivo.

<configuration>
   <property>
      <name>mapreduce.framework.name</name>
      <value>yarn</value>
   </property>
</configuration>

Verificando a instalação do Hadoop

As etapas a seguir são usadas para verificar a instalação do Hadoop.

Etapa 1: configuração do nó de nome

Configure o namenode usando o comando “hdfs namenode -format” da seguinte forma:

$ cd ~
$ hdfs namenode -format

O resultado esperado é o seguinte:

10/24/14 21:30:55 INFO namenode.NameNode: STARTUP_MSG:
/************************************************************
STARTUP_MSG: Starting NameNode
STARTUP_MSG: host = localhost/192.168.1.11
STARTUP_MSG: args = [-format]
STARTUP_MSG: version = 2.4.1
...
...
10/24/14 21:30:56 INFO common.Storage: Storage directory
/home/hadoop/hadoopinfra/hdfs/namenode has been successfully formatted.
10/24/14 21:30:56 INFO namenode.NNStorageRetentionManager: Going to retain
1 images with txid >= 0
10/24/14 21:30:56 INFO util.ExitUtil: Exiting with status 0
10/24/14 21:30:56 INFO namenode.NameNode: SHUTDOWN_MSG:
/************************************************************
SHUTDOWN_MSG: Shutting down NameNode at localhost/192.168.1.11
************************************************************/

Etapa 2: verificar Hadoop dfs

O seguinte comando é usado para iniciar o dfs. Este comando inicia seu sistema de arquivos Hadoop.

$ start-dfs.sh

A saída esperada é a seguinte:

10/24/14 21:37:56
Starting namenodes on [localhost]
localhost: starting namenode, logging to /home/hadoop/hadoop-
2.4.1/logs/hadoop-hadoop-namenode-localhost.out
localhost: starting datanode, logging to /home/hadoop/hadoop-
2.4.1/logs/hadoop-hadoop-datanode-localhost.out
Starting secondary namenodes [0.0.0.0]

Etapa 3: Verificando o script do Yarn

O seguinte comando é usado para iniciar o script do yarn. Executar este comando iniciará seus demônios do fio.

$ start-yarn.sh

A saída esperada é a seguinte:

starting yarn daemons
starting resource manager, logging to /home/hadoop/hadoop-2.4.1/logs/yarn-
hadoop-resourcemanager-localhost.out
localhost: starting node manager, logging to /home/hadoop/hadoop-
2.4.1/logs/yarn-hadoop-nodemanager-localhost.out

Etapa 4: Acessando o Hadoop no navegador

O número da porta padrão para acessar o hadoop é 50070. Use a seguinte URL para obter serviços Hadoop em seu navegador.

http://localhost:50070/

Etapa 5: verificar todos os aplicativos do cluster

O número da porta padrão para acessar todos os aplicativos do cluster é 8088. Use a seguinte URL para visitar este serviço.

http://localhost:8088/

Baixando Mahout

O Mahout está disponível no site Mahout . Baixe o Mahout no link fornecido no site. Aqui está a imagem do site.

Passo 1

Baixe o Apache mahout do link http://mirror.nexcess.net/apache/mahout/ usando o seguinte comando.

[Hadoop@localhost ~]$ wget
http://mirror.nexcess.net/apache/mahout/0.9/mahout-distribution-0.9.tar.gz

Então mahout-distribution-0.9.tar.gz será baixado em seu sistema.

Passo 2

Navegue pela pasta onde mahout-distribution-0.9.tar.gz é armazenado e extrai o arquivo jar baixado conforme mostrado abaixo.

[Hadoop@localhost ~]$ tar zxvf mahout-distribution-0.9.tar.gz

Repositório Maven

A seguir está o pom.xml para construir o Apache Mahout usando Eclipse.

<dependency>
   <groupId>org.apache.mahout</groupId>
   <artifactId>mahout-core</artifactId>
   <version>0.9</version>
</dependency>

<dependency>
   <groupId>org.apache.mahout</groupId>
   <artifactId>mahout-math</artifactId>
   <version>${mahout.version}</version>
</dependency>

<dependency>
   <groupId>org.apache.mahout</groupId>
   <artifactId>mahout-integration</artifactId>
   <version>${mahout.version}</version>
</dependency>