Учебники

Махоут — Окружающая среда

В этой главе рассказывается, как настроить mahout. Java и Hadoop являются обязательными условиями mahout. Ниже приведены шаги для загрузки и установки Java, Hadoop и Mahout.

Настройка перед установкой

Перед установкой Hadoop в среду Linux нам нужно настроить Linux с помощью ssh (Secure Shell). Выполните шаги, указанные ниже, для настройки среды Linux.

Создание пользователя

Рекомендуется создать отдельного пользователя для Hadoop, чтобы изолировать файловую систему Hadoop от файловой системы Unix. Следуйте инструкциям ниже, чтобы создать пользователя:

  • Откройте root с помощью команды «su».

  • Создайте пользователя из учетной записи root с помощью команды «useradd username» .

  • Теперь вы можете открыть существующую учетную запись пользователя с помощью команды «su username» .

  • Откройте терминал Linux и введите следующие команды, чтобы создать пользователя.

Откройте root с помощью команды «su».

Теперь вы можете открыть существующую учетную запись пользователя с помощью команды «su username» .

Откройте терминал Linux и введите следующие команды, чтобы создать пользователя.

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

Настройка SSH и генерация ключей

Настройка SSH требуется для выполнения различных операций в кластере, таких как запуск, остановка и операции распределенной оболочки демона. Для аутентификации разных пользователей Hadoop требуется предоставить пару открытого / закрытого ключа для пользователя Hadoop и поделиться ею с разными пользователями.

Следующие команды используются для генерации пары «ключ-значение» с использованием SSH, копирования открытых ключей в виде id_rsa.pub в Authorized_keys и предоставления прав владельца, чтения и записи в файл авторизованных ключей соответственно.

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

Проверка SSH

ssh localhost

Установка Java

Java является основной предпосылкой для Hadoop и HBase. Прежде всего, вы должны проверить существование Java в вашей системе, используя «java -version». Синтаксис команды версии Java приведен ниже.

$ java -version

Это должно привести к следующему выводу.

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)

Если у вас не установлена ​​Java в вашей системе, выполните следующие шаги для установки Java.

Шаг 1

Загрузите Java (JDK <последняя версия> — X64.tar.gz), перейдя по следующей ссылке: Oracle

Затем jdk-7u71-linux-x64.tar.gz загружается в вашу систему.

Шаг 2

Как правило, загруженный файл Java находится в папке «Загрузки». Проверьте его и извлеките файл jdk-7u71-linux-x64.gz, используя следующие команды.

$ 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

Шаг 3

Чтобы сделать Java доступным для всех пользователей, вам нужно переместить его в каталог «/ usr / local /». Откройте root и введите следующие команды.

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

Шаг 4

Для настройки переменных PATH и JAVA_HOME добавьте следующие команды в файл ~ / .bashrc .

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

Теперь проверьте команду java -version из терминала, как описано выше.

Загрузка Hadoop

После установки Java вам необходимо сначала установить Hadoop. Проверьте существование Hadoop с помощью команды «Hadoop version», как показано ниже.

hadoop version

Он должен произвести следующий вывод:

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

Если ваша система не может найти Hadoop, загрузите Hadoop и установите его в своей системе. Следуйте приведенным ниже командам, чтобы сделать это.

Загрузите и извлеките hadoop-2.6.0 из программного обеспечения apache с помощью следующих команд.

$ 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

Установка Hadoop

Установите Hadoop в любом из необходимых режимов. Здесь мы демонстрируем функциональность HBase в псевдораспределенном режиме, поэтому установите Hadoop в псевдораспределенном режиме.

Следуйте приведенным ниже инструкциям, чтобы установить Hadoop 2.4.1 в вашей системе.

Шаг 1: Настройка Hadoop

Вы можете установить переменные среды Hadoop, добавив следующие команды в файл ~ / .bashrc .

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

Теперь примените все изменения в работающей в данный момент системе.

$ source ~/.bashrc

Шаг 2: Конфигурация Hadoop

Вы можете найти все файлы конфигурации Hadoop в папке «$ HADOOP_HOME / etc / hadoop». Необходимо внести изменения в эти файлы конфигурации в соответствии с вашей инфраструктурой Hadoop.

$ cd $HADOOP_HOME/etc/hadoop

Для разработки программ Hadoop на Java вам необходимо сбросить переменные среды Java в файле hadoop-env.sh , заменив значение JAVA_HOME расположением Java в вашей системе.

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

Ниже приведен список файлов, которые вы должны отредактировать для настройки Hadoop.

ядро-site.xml

Файл core-site.xml содержит такую ​​информацию, как номер порта, используемый для экземпляра Hadoop, память, выделенная для файловой системы, лимит памяти для хранения данных и размер буферов чтения / записи.

Откройте core-site.xml и добавьте следующее свойство между тегами <configuration>, </ configuration>:

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

HDFS-site.xm

Файл hdfs-site.xml содержит такую ​​информацию, как значение данных репликации, путь namenode и пути datanode вашей локальной файловой системы. Это место, где вы хотите хранить инфраструктуру Hadoop.

Допустим, следующие данные:

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

Откройте этот файл и добавьте следующие свойства между тегами <configuration>, </ configuration> в этом файле.

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

Примечание. В приведенном выше файле все значения свойств определены пользователем. Вы можете вносить изменения в соответствии с вашей инфраструктурой Hadoop.

mapred-site.xml

Этот файл используется для настройки пряжи в Hadoop. Откройте файл mapred-site.xml и добавьте следующее свойство между тегами <configuration>, </ configuration> в этом файле.

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

mapred-site.xml

Этот файл используется, чтобы указать, какую платформу MapReduce мы используем. По умолчанию Hadoop содержит шаблон mapred-site.xml. Прежде всего, необходимо скопировать файл из mapred-site.xml.template в файл mapred-site.xml с помощью следующей команды.

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

Откройте файл mapred-site.xml и добавьте следующие свойства между тегами <configuration>, </ configuration> в этом файле.

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

Проверка правильности установки Hadoop

Следующие шаги используются для проверки установки Hadoop.

Шаг 1: Настройка имени узла

Настройте namenode с помощью команды «hdfs namenode -format» следующим образом:

$ cd ~
$ hdfs namenode -format

Ожидаемый результат выглядит следующим образом:

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

Шаг 2: Проверка Hadoop dfs

Следующая команда используется для запуска dfs. Эта команда запускает вашу файловую систему Hadoop.

$ start-dfs.sh

Ожидаемый результат выглядит следующим образом:

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]

Шаг 3: Проверка скрипта пряжи

Следующая команда используется для запуска скрипта пряжи. Выполнение этой команды запустит вашу пряжу демонов.

$ start-yarn.sh

Ожидаемый результат выглядит следующим образом:

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

Шаг 4: Доступ к Hadoop в браузере

Номер порта по умолчанию для доступа к hadoop — 50070. Используйте следующий URL-адрес, чтобы получить службы Hadoop в своем браузере.

http://localhost:50070/

Доступ к Hadoop

Шаг 5. Проверьте все приложения для кластера.

Номер порта по умолчанию для доступа ко всем приложениям кластера — 8088. Используйте следующий URL-адрес, чтобы посетить эту службу.

http://localhost:8088/

Приложения для кластера

Скачать Mahout

Mahout доступен на веб-сайте Mahout . Скачать Mahout можно по ссылке, указанной на сайте. Вот скриншот сайта.

Скачать Mahout

Шаг 1

Загрузите Apache mahout по ссылке http://mirror.nexcess.net/apache/mahout/, используя следующую команду.

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

Тогда mahout-distribution-0.9.tar.gz будет загружен в вашу систему.

Шаг 2

Просмотрите папку, в которой хранится mahout-distribution-0.9.tar.gz, и извлеките загруженный файл JAR, как показано ниже.

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

Репозиторий Maven

Ниже приведен файл pom.xml для сборки Apache Mahout с использованием Eclipse.