Mahout - Ambiente

Questo capitolo ti insegna come configurare mahout. Java e Hadoop sono i prerequisiti di mahout. Di seguito sono riportati i passaggi per scaricare e installare Java, Hadoop e Mahout.

Configurazione preinstallazione

Prima di installare Hadoop in ambiente Linux, è necessario configurare Linux utilizzando ssh(Secure Shell). Seguire i passaggi indicati di seguito per configurare l'ambiente Linux.

Creazione di un utente

Si consiglia di creare un utente separato per Hadoop per isolare il file system Hadoop dal file system Unix. Seguire i passaggi indicati di seguito per creare un utente:

  • Aprire root utilizzando il comando "su".

  • Crea un utente dall'account root utilizzando il comando “useradd username”.

  • Ora puoi aprire un account utente esistente utilizzando il comando “su username”.

  • Apri il terminale Linux e digita i seguenti comandi per creare un utente.

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

Configurazione SSH e generazione di chiavi

La configurazione di SSH è necessaria per eseguire diverse operazioni su un cluster come l'avvio, l'arresto e le operazioni della shell del demone distribuito. Per autenticare diversi utenti di Hadoop, è necessario fornire una coppia di chiavi pubblica / privata per un utente Hadoop e condividerla con utenti diversi.

I seguenti comandi vengono utilizzati per generare una coppia chiave-valore utilizzando SSH, copiare le chiavi pubbliche da id_rsa.pub in authorized_keys e fornire rispettivamente le autorizzazioni di proprietario, lettura e scrittura al file authorized_keys.

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

Verifica ssh

ssh localhost

Installazione di Java

Java è il prerequisito principale per Hadoop e HBase. Prima di tutto, dovresti verificare l'esistenza di Java nel tuo sistema usando "java -version". Di seguito viene fornita la sintassi del comando della versione Java.

$ java -version

Dovrebbe produrre il seguente output.

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 non hai Java installato nel tuo sistema, segui i passaggi indicati di seguito per l'installazione di Java.

Step 1

Scarica java (JDK <ultima versione> - X64.tar.gz) visitando il seguente collegamento: Oracle

Poi jdk-7u71-linux-x64.tar.gz is downloaded sul tuo sistema.

Step 2

In genere, trovi il file Java scaricato nella cartella Download. Verificalo ed estrai il filejdk-7u71-linux-x64.gz file utilizzando i seguenti comandi.

$ 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

Per rendere Java disponibile a tutti gli utenti, è necessario spostarlo nella posizione "/ usr / local /". Apri root e digita i seguenti comandi.

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

Step 4

Per l'allestimento PATH e JAVA_HOME variabili, aggiungi i seguenti comandi a ~/.bashrc file.

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

Ora verifica il file java -version comando dal terminale come spiegato sopra.

Download di Hadoop

Dopo aver installato Java, è necessario installare inizialmente Hadoop. Verificare l'esistenza di Hadoop utilizzando il comando "Hadoop version" come mostrato di seguito.

hadoop version

Dovrebbe produrre il seguente output:

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 il tuo sistema non è in grado di individuare Hadoop, scarica Hadoop e installalo sul tuo sistema. Segui i comandi indicati di seguito per farlo.

Scarica ed estrai hadoop-2.6.0 da Apache Software Foundation utilizzando i seguenti comandi.

$ 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

Installazione di Hadoop

Installa Hadoop in una delle modalità richieste. Qui, stiamo dimostrando le funzionalità di HBase in modalità pseudo-distribuita, quindi installa Hadoop in modalità pseudo-distribuita.

Seguire i passaggi indicati di seguito per l'installazione Hadoop 2.4.1 sul tuo sistema.

Passaggio 1: configurazione di Hadoop

Puoi impostare le variabili d'ambiente Hadoop aggiungendo i seguenti comandi a ~/.bashrc file.

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

Ora applica tutte le modifiche al sistema attualmente in esecuzione.

$ source ~/.bashrc

Passaggio 2: configurazione di Hadoop

Puoi trovare tutti i file di configurazione di Hadoop nella posizione "$ HADOOP_HOME / etc / hadoop". È necessario apportare modifiche a tali file di configurazione in base alla propria infrastruttura Hadoop.

$ cd $HADOOP_HOME/etc/hadoop

Per sviluppare programmi Hadoop in Java, è necessario reimpostare le variabili d'ambiente Java in hadoop-env.sh file sostituendo JAVA_HOME valore con la posizione di Java nel sistema.

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

Di seguito è riportato l'elenco dei file che devi modificare per configurare Hadoop.

core-site.xml

Il core-site.xml file contiene informazioni come il numero di porta utilizzato per l'istanza Hadoop, la memoria allocata per il file system, il limite di memoria per la memorizzazione dei dati e la dimensione dei buffer di lettura / scrittura.

Apri core-site.xml e aggiungi la seguente proprietà tra i tag <configuration>, </configuration>:

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

hdfs-site.xm

Il hdfs-site.xmlfile contiene informazioni come il valore dei dati di replica, il percorso namenode e i percorsi datanode dei file system locali. Significa il luogo in cui si desidera archiviare l'infrastruttura Hadoop.

Supponiamo i seguenti dati:

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

Apri questo file e aggiungi le seguenti proprietà tra i tag <configuration>, </configuration> in questo file.

<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:Nel file sopra, tutti i valori delle proprietà sono definiti dall'utente. Puoi apportare modifiche in base alla tua infrastruttura Hadoop.

mapred-site.xml

Questo file viene utilizzato per configurare il filato in Hadoop. Apri il file mapred-site.xml e aggiungi la seguente proprietà tra i tag <configuration>, </configuration> in questo file.

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

mapred-site.xml

Questo file viene utilizzato per specificare quale framework MapReduce stiamo utilizzando. Per impostazione predefinita, Hadoop contiene un modello di mapred-site.xml. Prima di tutto, è necessario copiare il file damapred-site.xml.template per mapred-site.xml file utilizzando il seguente comando.

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

Aperto mapred-site.xml file e aggiungi le seguenti proprietà tra i tag <configuration>, </configuration> in questo file.

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

Verifica dell'installazione di Hadoop

I seguenti passaggi vengono utilizzati per verificare l'installazione di Hadoop.

Passaggio 1: configurazione del nodo del nome

Impostare il namenode utilizzando il comando "hdfs namenode -format" come segue:

$ cd ~
$ hdfs namenode -format

Il risultato atteso è il seguente:

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
************************************************************/

Passaggio 2: verifica di Hadoop dfs

Il seguente comando viene utilizzato per avviare dfs. Questo comando avvia il tuo file system Hadoop.

$ start-dfs.sh

L'output previsto è il seguente:

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]

Passaggio 3: verifica dello script del filato

Il seguente comando viene utilizzato per avviare lo script del filato. L'esecuzione di questo comando avvierà i tuoi demoni filati.

$ start-yarn.sh

L'output previsto è il seguente:

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

Passaggio 4: accesso a Hadoop sul browser

Il numero di porta predefinito per accedere a hadoop è 50070. Utilizza il seguente URL per ottenere i servizi Hadoop sul tuo browser.

http://localhost:50070/

Passaggio 5: verifica tutte le applicazioni per il cluster

Il numero di porta predefinito per accedere a tutte le applicazioni del cluster è 8088. Utilizzare il seguente URL per visitare questo servizio.

http://localhost:8088/

Download di Mahout

Mahout è disponibile nel sito Mahout . Scarica Mahout dal collegamento fornito nel sito web. Ecco lo screenshot del sito web.

Passo 1

Scarica Apache mahout dal link http://mirror.nexcess.net/apache/mahout/ utilizzando il seguente comando.

[[email protected] ~]$ wget
http://mirror.nexcess.net/apache/mahout/0.9/mahout-distribution-0.9.tar.gz

Poi mahout-distribution-0.9.tar.gz verrà scaricato nel tuo sistema.

Passo 2

Sfoglia la cartella dove mahout-distribution-0.9.tar.gz viene memorizzato ed estrai il file jar scaricato come mostrato di seguito.

[[email protected] ~]$ tar zxvf mahout-distribution-0.9.tar.gz

Repository Maven

Di seguito è riportato il pom.xml per creare Apache Mahout utilizzando 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>