Ubuntu14.04.2中配置单机模式的Hadoop

近期在学习数据挖掘的相关知识,需要使用到Hadoop平台上的MapReduce模型进行编程。欲善其事必利其器,编程的首要步骤就是进行Hadoop平台的搭建,然才疏学浅,倒腾了近一天才终完成,在此稍加总结,以便利同道中人。因为是刚开始进行相关的学习,所以先搭建了单机模式的环境,主要目的是学习MapReduce的编程方式,后期若有幸深入学习,会继续更新。

1、基本环境

      平台:Widows7 64位下的 Vmware + Ubuntu14.04.2


2、材料准备

      1)JDK:Hadoop的运行需要JDK的支持。有些Linux平台预装了JDK,如果没有的话那么在Ubuntu上第一次编译java程序时会提示使用sudo get install 之类的命令安装JDK。可以在shell命令行中使用java -version命令查看当前的java版本,在此有两种情况:

          i)如果出现了对应的版本信息,那么说明Ubuntu上已经安装了JDK,现在要找出JDK的安装根目录以便Hadoop调用。如果之前安装时没有进行相应的安装路径设置,那么默认情况下会安装在 /usr/lib/jvm/jdk-version/ 目录下,其中jdk-version是你所安装的jdk版本,可以去对应文件夹下查看,确认无误后记下该文件夹路径即可。(注意此处是要找到JDK的安装目录而不是Java程序所在的目录,二者是不同的,因为不同系统默认安装程序的位置有所不同,所以一定要确认所找到的是对应的JDK目录,可参看下图)     

         

         ii)如果提示信息为找不到java命令,那么说明Ubuntu上未安装JDK,需要先进行JDK的安装,推荐使用sudo get install命令,也可查看网上的相关材料,在此不表。

     2)Hadoop:可以在官网上下载最新版的Hadoop(http://hadoop.apache.org/releases.html,点击source下载)。我使用的是比较旧的hadoop-0.20.203.0rc1.tar.gz版本,主要考虑到一些参考教材中所使用的版本相对也较老,旧版也就相对方便些。附下载链接:http://archive.apache.org/dist/hadoop/core/hadoop-0.20.203.0/hadoop-0.20.203.0rc1.tar.gz


3、程序安装

       1)解压下载好的压缩包到自己账户的目录下。比如在账户根目录下新建名为hadoop的文件夹,将压缩文件移动到该目录下,切换到该目录下后进行解压。以下shell命令行操作的初始状态为压缩文件在账户根目录下(如图):

             mv  hadoop-0.20.203.0rc1.tar.gz  hadoop

             cd   hadoop

             tar  -zxvf  hadoop-0.20.203.0rc1.tar.gz
           

     2)配置JDK相关的环境变量。环境变量位于 /etc/profile 文件中。在shell解释器中,输入命令 sudo vim /etc/profile 对文件进行编辑。因为该文件默认情况是不允许修改的,所以要调用sudo切换为超级权限, 而vim是一个文本编辑器, 首次使用时系统会提示安装。打开文件之后,按字母o进入编辑状态,在文件最后加入以下三行代码用于修改环境变量(其中JAVA_HOME是JDK所在的根目录,根据自己的系统进行相应的修改):

         export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-i386

         export PATH=$JAVA_HOME/bin:$PATH

         export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

         编辑完后按下Esc键退出编辑状态,再输入 “:wq! " 退出Vim编辑器。

         环境变量修改后为了能及时生效还要执行下一条命令:

         source  /etc/profile

    3)配置Hadoop。同样使用Vim编辑器编辑之前Hadoop压缩文件解压后的目录下的 conf 目录下的 hadoop-env.sh 文件,将其中JAVA_HOME那一行的值指定为上述环境变量中的对应值。

    4)至此单机模式下的Hadoop配置完成。为了检验是否成功,可以运行Hadoop自带的示例程序。切换到Hadoop压缩文件解压后的根目录,依次运行以下命令:

          mkdir  input    // 在根目录下新建一个名为 input 的目录

          vim input/hello.c    // 在input目录下新建一个名为 hello.c 的文件,并进行相应的编辑,随便写一点什么, 写完后保存退出

          bin/hadoop  jar  hadoop-examples-*.jar  wordcount  input  output   // 调用Hadoop自带的示例程序wordcount,它以input文件夹下的全部文件作为输入,统计文件中每个单词出现的次数,并将结果以键值对的格式写入到 output 文件夹中, 注意output文件夹必须是先前没有的。

          more output/*  // 查看output文件夹中文件的内容

          在我的系统上运行的情况如下:

         

         

         对应为 hello.c 文件如下:

         #include <stdio.h>
        int main(){
               printf("hello world");
               return 0;
        }


          由此可见,Hadoop自带的 wordcount 函数只是简单地以空格符作为单词的分隔符,这在实际应用中还有待进一步优化。

          经过以上步骤,如果没有出现其他的错误的话,那么 Ubuntu系统单机模式下Hadoop编程平台就搭建好了,可以进一步开始学习MapReduce编程的各种技巧了。

         

3、参考文献

      《Hadoop in Action》 Chuck Lam

        下载链接:http://download.csdn.net/detail/mimicoa/9458024

       

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值