Mahout - 环境

本章教你如何设置mahout. Java和Hadoop是mahout的先决条件
.下面给出了下载和安装Java,Hadoop和Mahout的步骤.

安装前设置

在将Hadoop安装到Linux环境之前,我们需要使用 ssh (Secure Shell)设置Linux.按照下面提到的步骤设置Linux环境.

创建用户

建议为Hadoop创建一个单独的用户来隔离来自Unix文件系统的Hadoop文件
系统.按照以下步骤创建用户:

  • 使用命令"su"打开root.

  • 使用命令"useradd username"从root帐户创建用户.

  • 现在您可以使用命令"su username"打开现有用户帐户.

  • 打开Linux终端并输入以下命令来创建用户.

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

SSH设置和密钥生成

需要SSH设置才能在集群上执行不同的操作,例如启动,停止和分布式守护程序shell操作.要对
Hadoop的不同用户进行身份验证,需要为Hadoop用户提供公钥/私钥对,并与不同用户共享
.

以下命令用于使用SSH生成密钥值对,将公钥从id_rsa.pub复制到authorized_keys,并分别为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 -version"验证系统中
是否存在Java. Java版本命令的语法如下所示.

 
 $ java -version

它应该产生以下输出.

 
 java version"1.7.0_71"
 Java(TM)SE运行时环境( build 1.7.0_71-b13)
 Java HotSpot(TM)客户端VM(版本25.0-b02,混合模式)

如果不这样做在您的系统中安装了Java,然后按照下面给出的
安装Java的步骤.

步骤1

通过访问以下链接下载java(JDK< latest version>  -  X64.tar.gz):Oracle

然后 jdk-7u71-linux-x64.tar.gz已下载到你的系统上.

第2步

通常,你会在Downloads文件夹中找到下载的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 version"命令验证Hadoop是否存在,如下所示.

 
 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并在系统上安装
.按照下面给出的命令执行此操作.

使用
以下命令从apache软件基础下载并解压缩hadoop-2.6.0.

$ 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

您可以通过将以下命令附加到

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_HOME / etc / hadoop"位置找到所有Hadoop配置文件。 需要根据您的Hadoop基础结构对这些配置文件进行更改。

$ cd $HADOOP_HOME/etc/hadoop

为了用Java开发Hadoop程序,你需要通过替换 hadoop-env.sh 文件中的Java环境
变量来重置 JAVA_HOME 值,表示系统中Java的位置.

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

以下是您需要编辑以配置Hadoop的文件列表.

core -site.xml

core-site.xml 文件包含用于Hadoop实例的端口号,为文件系统分配的内存等信息,存储数据的内存限制,以及读取/写入缓冲区的
大小.

打开core-site.xml并在< configuration>之间添加以下属性,
</configuration>标签:

<configuration>
   <property>
      <name>fs.default.name</name>
      <value>hdfs://localhost:9000&lt/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>,$ b $之间添加以下属性b</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:命名节点设置

使用命令"hdfs namenode -format"设置namenode,如下所示:

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


Accessing Hadoop

步骤5:验证群集的所有应用程序

访问群集的所有应用程序的默认端口号是8088.使用以下
URL访问此服务.

http://localhost:8088/

群集应用程序

正在下载Mahout

Mahout可在 Mahout 网站上找到.从
下载Mahout网站提供的链接.这是该网站的截图.

Downloading Mahout

第1步

从 $ b链接下载Apache mahout使用以下命令$ b 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 将在您的系统中下载.

Step2

浏览存储 mahout-distribution-0.9.tar.gz 的文件夹,
提取下载的jar文件,如下所示.

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

Maven Repository

下面给出了构建Apache Mahout的pom.xml使用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>