• windows + hadoop + eclipse 过程记录


    昨天在本机上搭建了伪分布式的hadoop,今天决定在eclipse中搭建hadoop的环境,毕竟磨刀不误砍柴工

    安装的hadoop是2.7.5版本,要想使用eclipse写MapReduce需要一个   hadoop-eclipse-plugin-2.7.5.jar

    在网上找了一波发现并没有可以下载下来直接使用的包,于是就到  https://github.com/winghc/hadoop2x-eclipse-plugin   下载源码,自己来编译

    在编译此包前还需要   ant  可以在 http://ant.apache.org/  下载

    下载好两个文件后解压

    ant:配置环境变量

    Path中添加路径

    然后就是浩大的改文件工程

    hadoop2x-eclipse-plugin-mastersrccontribeclipse-pluginuild.xml

    hadoop2x-eclipse-plugin-mastersrcivylibraries.properties

    hadoop2x-eclipse-plugin-masterivylibraries.properties

     修改上述内容并修改


     上面需要修改的内容可以到   hadoop-2.7.5sharehadoopcommonlib   中查看


    接下来进行编译,将在DOS中将文件夹切换到   hadoop2x-eclipse-plugin-mastersrccontribeclipse-plugin

    执行

    ant jar -Dversion=2.7.5 -Declipse.home=C:Userslichaoxingeclipsejava-oxygeneclipse -Dhadoop.home=D:hadoop-2.7.5

    注: C:Userslichaoxingeclipsejava-oxygeneclipse  是eclipse的路径,D:hadoop-2.7.5  是hadoop的路径

    然后回车后发现报了N多错误

    其中一部分截图

    问题在于指定的eclipse路径下的找不到这些包,原因是我在安装eclipse的时候下载的是.exe文件,在 eclipsejava-oxygeneclipseplugins  下没有这些包

    于是我果断去下载了源码文件,果然在  eclipseplugins 含有好多包

    我将里面的包全部复制到  eclipsejava-oxygeneclipseplugins 中,再此编译,成功了

    后来我发现原来安装的eclipse文件夹下其实是有那些依赖包的,只不过不在上述文件夹下,而是在   eclipsejava-oxygeneclipsedropinsplugins  中

    如果更改下build.xml文件的内容,使路径为这个应该也可以解决问题,这里由于急于搭建好开发环境没有进行实验

    由于强迫症,我把之前的eclipse删掉了,使用了新下载的源码包(eclipse4.8)

    将  hadoop-eclipse-plugin-2.7.5.jar  拷贝到  eclipse  的  plugins 文件夹下

    启动eclipse,终于见到了久违的 Hadoop  了,配置一下Hadoop的安装路径

     在面板的下面 Map/Reduce Locations 中右键新建一个连接

    点击右下角finish后成功创建连接,但是点击连接名前面的尖号就会报  空指针异常

    找了大量资料,没能解决此问题,在一个博客里看到如果配置正确,可以忽略此问题  (https://blog.csdn.net/psp0001060/article/details/54728436

    于是尝试测试一下,准备好用于wordcount的file1,里面写了一点内容,上传到hdfs的input文件夹内,并指定输出在output/wordcount/

    在代码区右键run as 选择hadoop

    运行后报log4j的相关错误

    解决办法

    • 在mian中添加一行代码
    BasicConfigurator.configure();

     再次运行,成功执行

    • 工程文件夹下新建一个Source Folder,命名为source

    右键source新建,Other,选择General下的File并命名为  log4j.properties  

    在文件中添加

    log4j.rootLogger=INFO, stdout
    log4j.appender.stdout=org.apache.log4j.ConsoleAppender
    log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
    log4j.appender.stdout.layout.ConversionPattern=%d %p [%c] - %m%n
    log4j.appender.logfile=org.apache.log4j.FileAppender
    log4j.appender.logfile.File=target/spring.log
    log4j.appender.logfile.layout=org.apache.log4j.PatternLayout
    log4j.appender.logfile.layout.ConversionPattern=%d %p [%c] - %m%n

     运行代码,成功解决问题


  • 相关阅读:
    SQL数据去重复 Distinct 和 row_number() over()
    Excel闪退问题解决
    SQL Server 修改服务器登录名称以及密码
    从底层角度看ASP.NET-A low-level Look at the ASP.NET Architecture
    MD5加密
    MD5实例化异常 未能执行FIPS验证加密算法
    JDBC(上)
    自学MySQL第二天
    自学MySQL第一天
    自学JavaWeb第五天jQuery进阶
  • 原文地址:https://www.cnblogs.com/xinglichao/p/9642838.html
Copyright © 2020-2023  润新知