分享

【Hadoop实战】在Mac OS上配置Hadoop伪分布式环境

 dongsibei 2014-05-02

最近大数据很流行,而Hadoop又是分析大数据的有力工具,加之工作需要,我近期也在学习hadoop的相关知识。学习归学习,还是要实践;而实践,得先有环境。看到教科书上的一些方法,都是在linux上配置;mac与linux相近,我就在mac os上实践了。mac os版本是10.8.1,配置的是单机伪分布式环境,目的是学习hadoop程序编写;至于hadoop集群搭建,暂时不感兴趣。

主要参考的资料是《hadoop实战》第二章,p18 -- p21的内容。

《Hadoop实战》中文版+英文文字版+源码【PDF】 下载见 http://www./Linux/2012-10/71901.htm

hadoop伪分布式环境搭建,大概分三个步骤:1. java环境配置;2. mac os自身环境设置;3. hadoop环境配置。

1. java环境配置

这一步主要是让mac os支持java,并且配置相关环境变量,使得系统能够自动找到javac和java。在mac系统下,支持java相对简单。我打开terminal,想看下是否系统已经安装了java(之前安装过xcode的command line版本),键入"java -version",结果mountain lion很智能的问我要不要安装java,并且自动连接apple网站下载安装了java编译、运行环境,并配置好相关环境变量。

在terminal里再次键入"java -version",出现如下信息:

java version "1.6.0_35"

Java(TM) SE Runtime Environment (build 1.6.0_35-b10-428-11M3811)

Java HotSpot(TM) 64-Bit Server VM (build 20.10-b01-428, mixed mode)

为了进一步验证,打开vim写了一段helloworld程序,并保存为helloworld.java,如下:

  1. package helloworld;     
  2. public class helloworld 
  3.      public static void main (String [] args) 
  4.      { 
  5.          System.out.println ("Hello world for java!"); 
  6.      } 
  7.  } 

需要注意的是,文件名字“helloworld.java”需要和主类的名字一致。而且,package的名字,最终会在生成.class文件的时候决定路径的深度,例如:我最开始起的名字是“package java.tryjava.helloworld”,结果.class文件生成在了“.../java/tryjava/helloworld”路径下,烦死。

命令行中用javac编译刚才的文件,如下:

javac -d ../bin/ helloworld.java

其中“-d”表示生成文件的目录,再往后,是要编译的源代码文件。查看../bin/helloworld/目录下,生成helloworld.class文件,cd到该目录,输入

java hell world/helloworld

注意第二个是不带后缀的文件名hellworld,而不是生成的全名hellworld.class。如期得到

Hello world for java!

至此,java环境安装完毕。在《hadoop实战》中,还要设置一些环境变量。这些在mac系统下可以省略,在刚才安装过程中,已经设置好这些变量了。

linux

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多