win7下在eclipse3.7中使用hadoop1.2.1插件运行MadReduce例子

环境 win7+hadoop_1.2.1+eclipse 3.7+maven 3

1.在win7下下载hadoop_1.2.1

2.安装hadoop的eclipse插件,注意eclipse 4.x版本下,hadoop插件会有问题,一定不能用4.x版本的eclipse,我用的是eclipse Indigo 也就是3.7 版本。

我有一个视频:http://pan.baidu.com/s/1sjUhsh3,讲的是安装配置eclipse插件

3.重新编译hadoop的hadoop-1.2.1\src\core\org\apache\hadoop\fs\FileUtil.java。

视频:http://pan.baidu.com/s/1gdVhCOV 讲的是如何导入hadoop源码到eclipse

在博客 http://blog.csdn.net/poisonchry/article/details/27535333 中讲到,需要修改 hadoop-1.2.1\src\core\org\apache\hadoop\fs\ 下的FileUtil.java。改动是:

private static void checkReturnValue(boolean rv, File p,
                                    FsPermission permission)
                                throws IOException
{
    /**
    * 把整个方法体注释了

    if (!rv)
    {
        throw new IOException("Failed to set permissions of path: " + p +
                        " to " +
                        String.format("%04o", permission.toShort()));
    }
    */
}

不知道怎么回事,我在eclipse中直接export jar包总是出错,没有关系,进入eclipse的workspace,找到hadoop源码的那个项目,进入bin文件夹,找到 core\org\apache\hadoop\fs\FileUtil.class文件,进入win7下 hadoop1.2.1的目录,用winRAR打开hadoop-core-1.2.1.jar文件,把刚刚的core\org\apache\hadoop\fs\FileUtil.class拷贝到对应的位置就好了

4. 新建一个maven项目,pom文件如下:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>cn.howso</groupId>
    <artifactId>hadoopmaven</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <hadoop.version>1.2.1</hadoop.version>
    </properties>
    <dependencies>
        <dependency>
            <groupId>org.apache.hadoop</groupId>
            <artifactId>hadoop-client</artifactId>
            <version>${hadoop.version}</version>
        </dependency>

        <dependency>
            <groupId>org.apache.hadoop</groupId>
            <artifactId>hadoop-core</artifactId>
            <version>${hadoop.version}</version>
            <scope>system</scope>
            <systemPath>C:\hadoop\hadoop-1.2.1\hadoop-core-1.2.1.jar</systemPath>
        </dependency>

        <dependency>
            <groupId>org.codehaus.jackson</groupId>
            <artifactId>jackson-mapper-asl</artifactId>
            <version>1.8.8</version>
        </dependency>
        <dependency>
            <groupId>org.codehaus.jackson</groupId>
            <artifactId>jackson-core-asl</artifactId>
            <version>1.8.8</version>
        </dependency>
        <dependency>
            <groupId>commons-httpclient</groupId>
            <artifactId>commons-httpclient</artifactId>
            <version>3.0.1</version>
        </dependency>

        <dependency>
            <groupId>commons-cli</groupId>
            <artifactId>commons-cli</artifactId>
            <version>1.2</version>
        </dependency>
        <dependency>
            <groupId>commons-configuration</groupId>
            <artifactId>commons-configuration</artifactId>
            <version>1.6</version>
        </dependency>

        <dependency>
            <groupId>org.hamcrest</groupId>
            <artifactId>hamcrest-all</artifactId>
            <version>1.1</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.11</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.apache.mrunit</groupId>
            <artifactId>mrunit</artifactId>
            <version>1.1.0</version>
            <classifier>hadoop2</classifier>
            <scope>test</scope>
        </dependency>

        <dependency>
            <groupId>org.apache.hadoop</groupId>
            <artifactId>hadoop-minicluster</artifactId>
            <version>${hadoop.version}</version>
            <scope>test</scope>
        </dependency>

        <dependency>
            <groupId>org.apache.hadoop</groupId>
            <artifactId>hadoop-test</artifactId>
            <version>${hadoop.version}</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>com.sun.jersey</groupId>
            <artifactId>jersey-core</artifactId>
            <version>1.8</version>
            <scope>test</scope>
        </dependency>

    </dependencies>
    <build>
        <finalName>hadoopx</finalName>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compilter-plugin</artifactId>
                <version>3.1</version>
                <configuration>
                    <source>1.7</source>
                    <target>1.7</target>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-jar-plugin</artifactId>
                <version>2.5</version>
                <configuration>
                    <outputDirectory>basedir</outputDirectory>
                    <archive>
                        <manifest>
                            <mainClass>hadoopmaven.Driver</mainClass>
                        </manifest>
                    </archive>
                </configuration>
            </plugin>
        </plugins>
    </build>
</project>

当中的groupId,artifactId等等当然是根据各自项目命名的,当然对项目本身没有影响。

注意到对应hadoop-core的依赖,我写的是依赖本地系统的jar包,也就是刚刚被修改过的hadoop-core-1.2.1.jar文件。

5.随便写个什么mapreduce,我是按照博客 http://www.cnblogs.com/formyjava/p/5219191.html 中的写法,然后直接运行Driver类,或者右击Driver类,选择Run as ---> Run on hadoop就可以了

时间: 2024-10-11 19:23:17

win7下在eclipse3.7中使用hadoop1.2.1插件运行MadReduce例子的相关文章

Android4.2.2下Stagefright多媒体架构中的A31的OMX插件和Codec组件

本文均属自己阅读源码的点滴总结,转账请注明出处谢谢. 欢迎和大家交流.qq:1037701636 email: [email protected] 在前面的博文中提到,AwesomePlayer::onPrepareAsyncEvent()开始进行Codec解码器组件的获取以及创建,这里和大家分享. 1.以解码器实例作为切入点 status_t AwesomePlayer::initVideoDecoder(uint32_t flags) { ATRACE_CALL(); ...... ALOG

win7下无法安装QTP-少了Microsoft Visual c++2005 sp1运行时组件

问题是:当我点击QTP的setup.exe进行QTP安装时,出现提示[少了Microsoft Visual c++2005 sp1运行时组件,安装时会提示命令行选项语法错误,键入“命令/?”可获取帮肋信息,无法正常安装] 解决办法是:进入[***\QTP\Extensibility and Toolkits\ExtAccTool\Common\vc2005_sp1_redist]目录下安装vcredist_x86.exe. 参考资料:win7下无法安装LR11-少了Microsoft Visua

myeclipse WIN7下设置字体列表中无Courier New

到"C:\Windows\Fonts"下找到对应的字体,单击,选择上面的显示 然后就可以在eclicpse字体设置里面看到Courier New项了: Eclipse字体设置方法: Windows---->Preferences---->General---->Appearance---->Colors and Fonts---->Basic---->Text Fonts,点击右边的Edit.

docker在win7下的使用

1,安装 win7下需要安装docker-toolbox,然后通过Docker Quickstart Terminal运行 2,加速 直接pull的话是拉取的docker hub上的镜像,速度非常慢,需要配置加速器. 可以使用阿里云的加速器服务,地址是 https://cr.console.aliyun.com/,按官方说明配置加速器即可. 说明:提示 docker machine default 已存在,可以先停掉,然后再删除此machine # 关闭default主机 docker-mach

Win7下Eclipse中运行远程MapReduce程序

1.hadoop插件的参数配置 2.运行时的参数 3.运行结果 Win7下Eclipse中运行远程MapReduce程序,布布扣,bubuko.com

在Win7下利用VirtualBox和Vagrant中安装Docker

1.安装VirtualBox 和 Vagrant 首先下载安装VirtualBox 和 Vagrant的windows版本,两个都安装完成后,假设Vagrant在D:\HashiCorp\Vagrant目录下. 1.1 下载 cmd进入DOS,进入目录D:\HashiCorp\Vagrant\bin,一般标准命令是: To use the available boxes just replace {title} and {url} with the information in the tabl

安装包中DLL文件在WIN7下不能正常注册的解决方案

exe在Vista或Win7下不以管理员权限运行,会被UAC(用户帐户控制)阻止访问系统某些功能,如修改注册表操作等:如何让exe以管理员权限运行呢,方法有两种,一个是直接修改exe属性:另一个是在程序中加入MANIFEST资源,下面分别介绍. 1. 直接修改exe属性: 1) 右击“exe”,在弹出的菜单中选择“属性”,出现的界面如下图: 2) 选择“兼容性”项,并勾选“以管理员身份运行此程序”项即可. 2. 在程序中加入MANIFEST资源,分C#和delphi实现方法: 1) C#: ? 

Win7下MyEclipse远程连接到Mac/Linux中Hadoop集群

Win7下MyEclipse远程连接到Mac/Linux中Hadoop集群(也可访问该网页查看:http://tn.51cto.com/article/562 ) 所需软件:(1)下载Hadoop2.5.1到Win7系统下,并解压缩Hadoop2.5.1下载地址:Indexof/dist/hadoop/core/hadoop-2.5.1http://archive.apache.org/dist/hadoop/core/hadoop-2.5.1/ 说明:Win7中下载的是Hadoop2.5.1,

Win7下超级管理员创建普通权限任务

已转至新的博客 http://www.raysoftware点击打开链接.cn/?p=49 项目中用到一个功能,Win7下超级管理员创建普通权限任务. 试了几种办法,例如获取资源管理器的Token,然后以这个Token用CreateProcessWithTokenW创建任务.这样做是可以的. 但是如果当前没有资源管理器或者其他普通权限的任务怎么办?CreateToken自己构造一个Token也可以,但是那些参数看了就头大. 试了一下以超级用户方式启动任务管理器用菜单中的运行,居然是默认创建普通权