经历两天努力,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. Android周笔记(9.8-14)(持续更新)

    本笔记记录一周内的小知识点和一些心学习的Demo. 1.PopupWindow: new 一个activity_pop_window:id为popwindow的Button,id为hello123的T ...

  2. mysql错误:Error Code: 1175. You are using safe update mode and you tried to update a table……

    今天遇到一个mysql错误:   Error Code: . You are using safe update mode and you tried to update a table withou ...

  3. chroot

    用途:更改命令的根目录. 语法:chroot Directory Command 描述: 注意:如果新根目录中的特殊文件具有与实际根目录不同的主要和次要设备号,则可能会覆盖文件系统. 只有具有 roo ...

  4. 无良教程-破解SublimeText3

    这教程实际上并不是倡导大伙儿去破解软件然后传播出去以侵犯作者的权益,纯粹是技术分享,如果大伙儿觉得Low了,可立马删除. sublime text是我非常喜欢的一款编辑器,在ubuntu上,之前用的一 ...

  5. C++vptr初始化时间

    给出如下代码段: #include <iostream> #include "stdio.h" using namespace std; class A { publi ...

  6. Flex中如何通过设置GridLines对象的horizontalAlternateFill样式交错显示LineSeries图表背景颜色的例子

    原文 http://blog.minidx.com/2008/11/27/1652.html 接下来的例子演示了Flex中如何通过设置GridLines对象的horizontalAlternateFi ...

  7. 可爱的 Python : Python中函数式编程,第二部分

    英文原文:Charming Python: Functional programming in Python, Part 2,翻译:开源中国 摘要:  本专栏继续让David对Python中的函数式编 ...

  8. rpm安装软件(需管理员权限)

    常用命名规范 linux-1.2.0-30.e16.i686.rpm rpm基本命令 安装rpm -i software.rpm 卸载rpm -e software 升级rpm -U software ...

  9. ant jsch.jar - 一个错误及解决办法

    ant jsch.jar -- 一个异常及解决方法 运行build.xml出现异常: Cause: Could not load a dependent class com/jcraft/jsch/L ...

  10. Cow Sorting(置换群)

    Cow Sorting Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 6664   Accepted: 2602 Descr ...