hadoop 2.2.0 单节点安装和测试

本文是详细记录Hadoop 2.2.0 在Mac OSX系统下单节点安装配置启动的详细步骤,并且演示运行一个简单的job。目录结构如下:

  • 基础环境配置
  • Hadoop安装配置
  • 启动及演示

[一]、基础环境配置

1、OS: Mac OSX 10.9.1

2、JDK 1.6.0_65

不管是安装包还是自己编译源码安装都可以,这个就不多介绍了,搜索下有很多文章介绍的,只要确保环境变量配置正确即可,我的JAVA_HOME配置如下:

3、无密码SSH登录

由于是单节点的应用,只要实现localhost 的无密码ssh登录即可,这个比较简单:

验证是否成功:

这样就表示SSH无密码登录成功了。

有关SSH无密码登录的详细介绍可以参见:Linux(Centos)配置OpenSSH无密码登陆

[二]、Hadoop安装配置

1、下载发布包

打开官方下载链接 http://hadoop.apache.org/releases.html#Download  ,选择2.2.0版本的发布包下载 后解压到指定路径下:micmiu$ tar -zxf hadoop-2.2.0.tar.gz -C /usr/local/share,那么本文中HADOOP_HOME = /usr/local/share/hadoop-2.2.0/。

2、配置系统环境变量 vi ~/.profile ,添加如下内容:

3、修改 <HADOOP_HOME>/etc/hadoop/hadoop-env.sh

Mac OSX配置如下:

跟多可以参见:$JAVA_HOME环境变量在Mac OS X中设置的问题

Linux|Unix 配置如下:

4、修改 <HADOOP_HOME>/etc/hadoop/core-site.xml

在<configuration>节点下添加或者更新下面的配置信息:

5、修改 <HADOOP_HOME>/etc/hadoop/hdfs-site.xml

在<configuration>节点下添加或者更新下面的配置信息:

6、修改 <HADOOP_HOME>/etc/hadoop/yarn-site.xml

在<configuration>节点下添加或者更新下面的配置信息:

7、修改 <HADOOP_HOME>/etc/hadoop/mapred-site.xml

默认没有mapred-site.xml 文件,copy  mapred-site.xml.template 一份为 mapred-site.xml即可

在<configuration>节点下添加或者更新下面的配置信息:

[三]、启动及演示

1、启动Hadoop

首先执行hdfs namenode -format

然后执行 start-dfs.sh

再执行 start-yarn.sh

启动日志没有错误信息,并确认上面的相关进程存在,就表示启动成功了。

2、演示

演示hdfs 一些常用命令,为wordcount演示做准备:

本地创建一个文件 micmiu-word.txt, 写入如下内容:

把 micmiu-word.txt 文件上传到hdfs:
hdfs dfs -put micmiu-word.txt  /user/micmiu/wordcount/in

然后cd 切换到Hadoop的根目录下执行:

hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.2.0.jar wordcount  /user/micmiu/wordcount/in /user/micmiu/wordcount/out

ps: /user/micmiu/wordcount/out 目录不能存在 否则运行报错。

看到类似如下的日志信息:

到此 wordcount的job已经执行完成,执行如下命令可以查看刚才job的执行结果:

ps:这篇文章是两天完成的,所以演示中日志的时间前后有一天间隔。

—————–  EOF @Michael Sun —————–

原创文章,转载请注明: 转载自micmiu – 软件开发+生活点滴[ http://www.micmiu.com/ ]

本文链接地址: http://www.micmiu.com/bigdata/hadoop/hadoop2x-single-node-setup/

发表评论?

8 条评论。

  1. 博主 这个编译后的能在ios移动开发上使用上,是否还需要进一步编译

  2. 博主请教你一下:
    export HADOOP_OPTS=”$HADOOP_OPTS -Djava.security.krb5.realm=OX.AC.UK -Djava.security.krb5.kdc=kdc0.ox.ac.uk:kdc1.ox.ac.uk”
    这个参数的配置是什么意思啊

  3. 感谢博主的教程,终于弄好了!!哈哈

  4. 你好,为什么我的hadoop启动就提示localhost: env: bash: No such file or directory
    ,并且没有datanode,也没有secondarynamenode呢,logs里提示
    ERROR org.apache.hadoop.security.UserGroupInformation: PriviledgedActionException as:UncleDrew cause:java.io.IOException: File /Users/UncleDrew/tmp/hadoop/mapred/system/jobtracker.info could only be replicated to 0 nodes, instead of 1
    2014-07-03 11:02:09,449 INFO org.apache.hadoop.ipc.Server: IPC Server handler 6 on 9000, call addBlock(/Users/UncleDrew/tmp/hadoop/mapred/system/jobtracker.info, DFSClient_NONMAPREDUCE_-98620818_1, null) from 127.0.0.1:53375: error: java.io.IOException: File /Users/UncleDrew/tmp/hadoop/mapred/system/jobtracker.info could only be replicated to 0 nodes, instead of 1
    java.io.IOException: File /Users/UncleDrew/tmp/hadoop/mapred/system/jobtracker.info could only be replicated to 0 nodes, instead of 1 这该怎么解决啊

  5. 博主,我的在网上下载了一个64位native包替换,为什么还是不行呢?一样的警告。

发表评论


注意 - 你可以用以下 HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">