В этой главе рассказывается, как настроить 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/
Шаг 5. Проверьте все приложения для кластера.
Номер порта по умолчанию для доступа ко всем приложениям кластера — 8088. Используйте следующий URL-адрес, чтобы посетить эту службу.
http://localhost:8088/
Скачать 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.