开发手册 欢迎您!
软件开发者资料库

Mahout - 环境

Mahout Environment - 使用这个初学者教程,简单易学地学习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终端并输入以下命令来创建用户.

$ supassword:# useradd hadoop# passwd hadoopNew 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/$ lsjdk-7u71-linux-x64.gz$ tar zxf jdk-7u71-linux-x64.gz$ lsjdk1.7.0_71 jdk-7u71-linux-x64.gz

第3步

要使所有用户都可以使用Java,您需要将其移动到"/usr/local/"位置.打开root,然后输入以下命令.

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

第4步

用于设置 PATH JAVA_HOME 变量,将以下命令添加到〜/.bashrc文件.

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

现在,如上所述验证来自终端的 java -version 命令.

下载Hadoop

安装Java后,你需要最初安装Hadoop.使用"Hadoop version"命令验证Hadoop是否存在,如下所示.

  hadoop version

它应该产生以下输出:

Hadoop 2.6.0Compiled by jenkins on 2014-11-13T21:10ZCompiled with protoc 2.5.0From source with checksum 18e43357c8f927c0695f1e9522859d6aThis command was run using /home/hadoop/hadoop/share/hadoop/common/hadoopcommon-2.6.0.jar

如果您的系统无法找到Hadoop,请下载Hadoop并在系统上安装
.按照下面给出的命令执行此操作.

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

$ supassword:# 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/hadoopexport HADOOP_MAPRED_HOME=$HADOOP_HOMEexport HADOOP_COMMON_HOME=$HADOOP_HOMEexport HADOOP_HDFS_HOME=$HADOOP_HOMEexport YARN_HOME=$HADOOP_HOMEexport HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/nativeexport PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/binexport 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>之间添加以下属性,
标签:

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

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此文件中的标签.

         dfs.replication      1            dfs.name.dir      file:///home/hadoop/hadoopinfra/hdfs/namenode            dfs.data.dir      file:///home/hadoop/hadoopinfra/hdfs/datanode   

注意:在上面的文件中,所有属性值都是用户定义的.您可以根据您的Hadoop基础架构进行
更改.

mapred-site.xml

此文件用于将纱线配置为Hadoop.打开mapred-site.xml文件,并在< configuration>,之间添加

以下属性.此文件中的标签.

         yarn.nodemanager.aux-services      mapreduce_shuffle   

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>,之间添加以下属性.此文件中的标签.

         mapreduce.framework.name      yarn   

验证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 NameNodeSTARTUP_MSG: host = localhost/192.168.1.11STARTUP_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 retain1 images with txid >= 010/24/14 21:30:56 INFO util.ExitUtil: Exiting with status 010/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:56Starting namenodes on [localhost]localhost: starting namenode, logging to /home/hadoop/hadoop-2.4.1/logs/hadoop-hadoop-namenode-localhost.outlocalhost: starting datanode, logging to /home/hadoop/hadoop-2.4.1/logs/hadoop-hadoop-datanode-localhost.outStarting secondary namenodes [0.0.0.0]

第3步:验证纱线脚本

以下命令用于启动纱线脚本.执行此命令将启动您的纱线恶魔.

$ start-yarn.sh

预期输出如下:

starting yarn daemonsstarting resource manager, logging to /home/hadoop/hadoop-2.4.1/logs/yarn-hadoop-resourcemanager-localhost.outlocalhost: 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 ~]$ wgethttp://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.

   org.apache.mahout   mahout-core   0.9   org.apache.mahout   mahout-math   ${mahout.version}   org.apache.mahout   mahout-integration   ${mahout.version}