经历两天努力,8月25日下午2点40分,终于让hadoop1.2.1跑起来。

用的是《Hadoop实战第2版》(陆嘉恒)里面的WordCount例子,虽然书是2013年出的,但用的例子还是hadoop1.0.1版本,有点旧。

不怕,关键问题不在于hadoop版本,其实是java的版本和hostname设置。

我用的环境:虚拟机vmplayer上跑的opensuse12.3,java一开始用自带的1.7*版本(事实证明不好用,导致编译后不能运行jar包,老说class not found,具体原因不明白),hadoop下载了最新的1.2.1,本来以为最新的java+hadoop应该可以,估计是那个自带版本的java问题。

后来花了好一阵时间从oracle下载了一个1.6的jdk(发现原来下载java挺慢的,不知道有没有更快的方式,当然要官方下载,其他国内网站不算),重新编译后能运行起来,但用1.6的jdk反而跑不起hadoop,这个时候才把一直看到的hostname与localhost不一致提上解决问题议程(虽然之前就觉得奇怪)。

opensuse的hostname修改方式是直接编辑/etc/HOSTNAME(注意是全大写),重启(可能强制当时修改hostname也是可以,偷懒用了最没有技巧的方式),再启动hadoop。Yeah,前所未有的正常,服务跑的妥妥的,mapreduce显示running,hdfs的空间不再报100% used,Great!

再运行编译好的jar包的WordCount,开始的时候运行完成,但结果为空。经检查是第一次用dfs put测试文件上去hdfs时失败了,put了两个空文件,当然结果为空。马上用dfs -rm删掉原来的垃圾,重新上传测试文件,再跑,Good!结果出来了而且正确。

这就是我第一次安装配置好一个hadoop运行环境并跑成功第一个mapreduce程序。Cheers!

Make Hadoop 1.2.1 run, my first try的更多相关文章

  1. hadoop中setup,cleanup,run和context讲解

    hadoop 执行中的setup run cleanup context的作用1.简介1) setup(),此方法被MapReduce框架仅且执行一次,在执行Map任务前,进行相关变量或者资源的集中初 ...

  2. Eclipse上Hadoop插件中Run On Hadoop原理[转]

    通过Eclipse的hadoop插件中的"run on hadoop"命令的原理:它不是把jar包发送到hadoop集群上去运行,而只是使用了hadoop集群上的hdfs,从hdf ...

  3. hadoop 2.7.3本地环境运行官方wordcount

    hadoop 2.7.3本地环境运行官方wordcount 基本环境: 系统:win7 虚机环境:virtualBox 虚机:centos 7 hadoop版本:2.7.3 本次先以独立模式(本地模式 ...

  4. 跟我一起hadoop(1)-hadoop2.6安装与使用

    伪分布式 hadoop的三种安装方式: Local (Standalone) Mode Pseudo-Distributed Mode Fully-Distributed Mode 安装之前需要 $ ...

  5. Hadoop学习日志- install hadoop

    资料来源 : http://www.tutorialspoint.com/hadoop/hadoop_enviornment_setup.htm Hadoop 安装 创建新用户 $ su passwo ...

  6. docker搭建Hadoop集群

    一个分布式系统基础架构,由Apache基金会所开发. 用户可以在不了解分布式底层细节的情况下,开发分布式程序.充分利用集群的威力高速运算和存储. 首先搭建Docker环境,Docker版本大于1.3. ...

  7. [Hadoop大数据]——Hive部署入门教程

    Hive是为了解决hadoop中mapreduce编写困难,提供给熟悉sql的人使用的.只要你对SQL有一定的了解,就能通过Hive写出mapreduce的程序,而不需要去学习hadoop中的api. ...

  8. Hadoop程序运行中的Error(1)-Error: org.apache.hadoop.hdfs.BlockMissingException

    15/03/18 09:59:21 INFO mapreduce.Job: Task Id : attempt_1426641074924_0002_m_000000_2, Status : FAIL ...

  9. eclipse远程调试Hadoop

    环境需求: 系统:window 10 eclipse版本:Mars Hadoop版本:2.6.0 资源需求:解压后的Hadoop-2.6.0,原压缩包自行下载:下载地址 丑话前头说: 以下的操作中,e ...

随机推荐

  1. ACID:数据库事务正确执行的四个基本要素

    ACID,指数据库事务正确执行的四个基本要素的缩写.包含:原子性(Atomicity).一致性(Consistency).隔离性(Isolation).持久性(Durability).一个支持事务(T ...

  2. python----slots属性安全类

    问题:__slots__可以用于构造安全的类.如果一个类使用了__slots__那么它的属性就不在自由了. 下面举例说明: 1.自由属性. class person(object): def __in ...

  3. Method "setAge" failed for object action.RegistAction@1f05562b [java.lang.No....

    大家好,如果大家看到了这篇文字.我觉得大家应该是遇到了该类问题. 首先,NullPointerException 空指针异常. 其次,大家应该是是在使用struts2和hibernate的使用遇到的这 ...

  4. eclipse中调出android sdk manager和android virtual device manager图标

    有时候在安装ADT插件后,eclipse菜单栏上不会显示android sdk manager和android virtual device manager两个图标, 这个时候,如果安装ADT插件的步 ...

  5. 关于“创业者与VC见面的10个不成文细节点”

    著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处.作者:Will Wang链接:http://www.zhihu.com/question/19641135/answer/50974 ...

  6. android 为TextView添加边框

    今天需要在TextView上面添加一个边框,但是TextView本身不支持边框,所以只能采用其他方式,在网上查询了一下,主要有三种方式可以实现1.带有边框的透明图片2.使用xml的shape设置3继承 ...

  7. [开源]在iOS上实现Android风格的控件Toast

    [开源]在iOS上实现Android风格的控件Toast iOS的风格和Apple其他产品一样,简单而粗暴.没有给人其他选择的余地,让你又爱又恨.同样的,Apple对待iOS平台的开发人员和对待大众消 ...

  8. Spring、Bean 的作用域

    Singleton作用域(默认) 当一个bean的作用域为singleton,那么Spring Ioc容器中只会存在一个共享的bean实例,并且所有对bean的请求,只要id与该bean定义相匹配,则 ...

  9. CentOS 6使用VNC配置远程桌面

    首先,配置vncservers(注意,rootW为1,普通用户按2,3以此类推) [root@hadoop1001 hadoop]# vi /etc/sysconfig/vncservers # VN ...

  10. OC字符串的常用方法

    网上写的关于字符串常用方法的博客很多,这里我简单做了下总结!不喜勿喷哦! 一.创建字符串 #import <Foundation/Foundation.h> //NSString //创建 ...