Mahout - Środowisko

W tym rozdziale dowiesz się, jak ustawić kornak. Java i Hadoop są warunkami wstępnymi gry mahout. Poniżej podano kroki, aby pobrać i zainstalować Java, Hadoop i Mahout.

Konfiguracja przed instalacją

Przed zainstalowaniem Hadoopa w środowisku Linux, musimy skonfigurować Linuksa przy użyciu ssh(Bezpieczna powłoka). Wykonaj poniższe czynności, aby skonfigurować środowisko Linux.

Tworzenie użytkownika

Zaleca się utworzenie oddzielnego użytkownika dla Hadoop w celu odizolowania systemu plików Hadoop od systemu plików Unix. Wykonaj poniższe czynności, aby utworzyć użytkownika:

  • Otwórz root za pomocą polecenia „su”.

  • Utwórz użytkownika z konta root za pomocą polecenia “useradd username”.

  • Teraz możesz otworzyć istniejące konto użytkownika za pomocą polecenia “su username”.

  • Otwórz terminal Linux i wpisz następujące polecenia, aby utworzyć użytkownika.

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

Konfiguracja SSH i generowanie klucza

Konfiguracja SSH jest wymagana do wykonywania różnych operacji w klastrze, takich jak uruchamianie, zatrzymywanie i rozproszone operacje powłoki demona. Aby uwierzytelnić różnych użytkowników Hadoop, wymagane jest podanie pary kluczy publiczny / prywatny dla użytkownika Hadoop i udostępnienie go różnym użytkownikom.

Następujące polecenia są używane do generowania pary klucz-wartość za pomocą SSH, kopiowania kluczy publicznych z formularza id_rsa.pub do authoris_keys i przyznawania odpowiednio właścicielowi, uprawnienia do odczytu i zapisu do pliku authoris_keys.

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

Weryfikacja ssh

ssh localhost

Instalowanie Java

Java jest głównym wymaganiem wstępnym dla Hadoop i HBase. Przede wszystkim powinieneś zweryfikować istnienie Javy w swoim systemie za pomocą „java -version”. Poniżej podano składnię polecenia wersji Java.

$ java -version

Powinien dać następujący wynik.

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)

Jeśli nie masz zainstalowanej Javy w swoim systemie, wykonaj poniższe kroki, aby zainstalować Javę.

Step 1

Pobierz java (JDK <najnowsza wersja> - X64.tar.gz), odwiedzając poniższy link: Oracle

Następnie jdk-7u71-linux-x64.tar.gz is downloaded do twojego systemu.

Step 2

Ogólnie pobrany plik Java znajduje się w folderze Pobrane. Sprawdź go i wyodrębnij plikjdk-7u71-linux-x64.gz plik za pomocą następujących poleceń.

$ 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

Aby udostępnić Javę wszystkim użytkownikom, musisz przenieść ją do lokalizacji „/ usr / local /”. Otwórz root i wpisz następujące polecenia.

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

Step 4

Do konfiguracji PATH i JAVA_HOME zmienne, dodaj następujące polecenia do ~/.bashrc file.

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

Teraz sprawdź java -version polecenie z terminala, jak wyjaśniono powyżej.

Pobieranie Hadoop

Po zainstalowaniu Javy należy najpierw zainstalować Hadoop. Sprawdź istnienie Hadoop przy użyciu polecenia „Wersja Hadoop”, jak pokazano poniżej.

hadoop version

Powinien dać następujący wynik:

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

Jeśli Twój system nie może zlokalizować Hadoop, pobierz Hadoop i zainstaluj go w swoim systemie. Aby to zrobić, postępuj zgodnie z poleceniami podanymi poniżej.

Pobierz i wyodrębnij hadoop-2.6.0 z fundacji oprogramowania Apache, używając następujących poleceń.

$ 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

Instalowanie Hadoop

Zainstaluj Hadoop w dowolnym z wymaganych trybów. Tutaj demonstrujemy funkcjonalności HBase w trybie pseudo-rozproszonym, dlatego zainstaluj Hadoop w trybie pseudo-rozproszonym.

Wykonaj poniższe czynności, aby zainstalować Hadoop 2.4.1 w twoim systemie.

Krok 1: Konfiguracja Hadoop

Możesz ustawić zmienne środowiskowe Hadoop, dołączając następujące polecenia do ~/.bashrc plik.

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

Teraz zastosuj wszystkie zmiany do aktualnie działającego systemu.

$ source ~/.bashrc

Krok 2: Konfiguracja Hadoop

Wszystkie pliki konfiguracyjne Hadoop można znaleźć w lokalizacji „$ HADOOP_HOME / etc / hadoop”. Wymagane jest wprowadzenie zmian w tych plikach konfiguracyjnych zgodnie z infrastrukturą Hadoop.

$ cd $HADOOP_HOME/etc/hadoop

Aby tworzyć programy Hadoop w Javie, musisz zresetować zmienne środowiskowe Java w hadoop-env.sh plik, zastępując JAVA_HOME wartość z położeniem Java w systemie.

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

Poniżej znajduje się lista plików, które musisz edytować, aby skonfigurować Hadoop.

core-site.xml

Plik core-site.xml plik zawiera informacje, takie jak numer portu używanego dla wystąpienia Hadoop, pamięć przydzielona dla systemu plików, limit pamięci do przechowywania danych i rozmiar buforów do odczytu / zapisu.

Otwórz plik core-site.xml i dodaj następującą właściwość między tagami <configuration>, </configuration>:

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

hdfs-site.xm

Plik hdfs-site.xmlplik zawiera informacje, takie jak wartość danych replikacji, ścieżka do kodu nazwy i ścieżki do węzła danych lokalnych systemów plików. To miejsce, w którym chcesz przechowywać infrastrukturę Hadoop.

Załóżmy następujące dane:

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

Otwórz ten plik i dodaj następujące właściwości między tagami <configuration>, </configuration> w tym pliku.

<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:W powyższym pliku wszystkie wartości właściwości są zdefiniowane przez użytkownika. Możesz wprowadzać zmiany zgodnie z infrastrukturą Hadoop.

mapred-site.xml

Ten plik służy do konfigurowania przędzy w Hadoop. Otwórz plik mapred-site.xml i dodaj następującą właściwość między tagami <configuration>, </configuration> w tym pliku.

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

mapred-site.xml

Ten plik jest używany do określenia, której platformy MapReduce używamy. Domyślnie Hadoop zawiera szablon mapred-site.xml. Przede wszystkim należy skopiować plik zmapred-site.xml.template do mapred-site.xml plik za pomocą następującego polecenia.

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

otwarty mapred-site.xml file i dodaj następujące właściwości między tagami <configuration>, </configuration> w tym pliku.

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

Weryfikacja instalacji Hadoop

Poniższe kroki służą do weryfikacji instalacji Hadoop.

Krok 1: Konfiguracja nazwy węzła

Skonfiguruj namenode za pomocą polecenia „hdfs namenode -format” w następujący sposób:

$ cd ~
$ hdfs namenode -format

Oczekiwany wynik jest następujący:

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

Krok 2: weryfikacja plików dfs na platformie Hadoop

Następujące polecenie służy do uruchamiania dfs. To polecenie uruchamia system plików Hadoop.

$ start-dfs.sh

Oczekiwany wynik jest następujący:

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]

Krok 3: weryfikacja skryptu przędzy

Następujące polecenie służy do uruchamiania skryptu przędzy. Wykonanie tego polecenia spowoduje uruchomienie demonów przędzy.

$ start-yarn.sh

Oczekiwany wynik jest następujący:

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

Krok 4: Dostęp do Hadoop w przeglądarce

Domyślny numer portu dostępu do hadoop to 50070. Użyj następującego adresu URL, aby pobrać usługi Hadoop w przeglądarce.

http://localhost:50070/

Krok 5: Sprawdź wszystkie aplikacje dla klastra

Domyślny numer portu dostępu do wszystkich aplikacji klastra to 8088. Aby odwiedzić tę usługę, użyj następującego adresu URL.

http://localhost:8088/

Pobieranie Mahout

Mahout jest dostępny na stronie Mahout . Pobierz Mahouta z linku podanego na stronie internetowej. Oto zrzut ekranu strony internetowej.

Krok 1

Pobierz kornak Apache z linku http://mirror.nexcess.net/apache/mahout/ za pomocą następującego polecenia.

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

Następnie mahout-distribution-0.9.tar.gz zostanie pobrany w twoim systemie.

Krok 2

Przejrzyj folder, w którym mahout-distribution-0.9.tar.gz jest przechowywany i wyodrębnij pobrany plik jar, jak pokazano poniżej.

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

Repozytorium Maven

Poniżej podano pom.xml do zbudowania Apache Mahout przy użyciu 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>