2019独角兽企业重金招聘Python工程师标准>>>

开发环境搭建:

两个文件

hadoop的win安装包,然后配置path;

然后还有一个几个配置的包,然后把配置放在hadoop安装包里面的;

====================

解决MapReduce任务在windows本地执行的NullPointerException问题

原创 2017年03月01日 11:06:25

为了能在调试MapReduce任务阶段有更好的工作效率,我们可以把URI的Schema设置为file:///,这样MapReduce任务就可以范围windows本地文件夹。当我在尝试这么做的时候出现了如下的空指针异常

Exception in thread "main" java.lang.NullPointerException
at java.lang.ProcessBuilder.start(ProcessBuilder.java:1010)
at org.apache.hadoop.util.Shell.runCommand(Shell.java:445)
at org.apache.hadoop.util.Shell.run(Shell.java:418)
at org.apache.hadoop.util.Shell$ShellCommandExecutor.execute(Shell.java:650)
at org.apache.hadoop.util.Shell.execCommand(Shell.java:739)
at org.apache.hadoop.util.Shell.execCommand(Shell.java:722)
at org.apache.hadoop.fs.RawLocalFileSystem.setPermission(RawLocalFileSystem.java:633)
at org.apache.hadoop.fs.RawLocalFileSystem.mkdirs(RawLocalFileSystem.java:421)
at org.apache.hadoop.fs.FilterFileSystem.mkdirs(FilterFileSystem.java:281)
at org.apache.hadoop.mapreduce.JobSubmissionFiles.getStagingDir(JobSubmissionFiles.java:125)
at org.apache.hadoop.mapreduce.JobSubmitter.submitJobInternal(JobSubmitter.java:348)
at org.apache.hadoop.mapreduce.Job$10.run(Job.java:1285)

原因是hadoop.dll文件和winutils.exe文件缺失了。解决步骤为:

1,下载这两个文件,下载地址:http://download.csdn.net/download/fly_leopard/9503059

2,解压之后,把hadoop.dll拷贝到C:\Windows\System32下面

3,创建环境变量HADOOP_HOME,然后把winutils.exe文件拷贝到${HADOOP_HOME}/bin目录下

=============================

使用Hadoop2.6.0,在eclipse下面调试mapreduce程序的时候,控制台不打印程序运行时的日志,而是显示如下信息:

log4j:WARN No appenders could be found for logger (org.apache.hadoop.metrics2.lib.MutableMetricsFactory).

log4j:WARN Please initialize the log4j system properly.

log4j:WARN hadoop See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.

说明没有配置log4j.properties文件。这虽然不影响程序的正常运行,但是看不到日志难免不爽。

解决方法:

把Hadoop2.6.0的安装目录下面的/etc/hadoop/目录下面的log4j.properties文件拷贝放到MapReduce工程的src目录下面。

===========================

maven打可运行jar包:

在pom文件里面加第一个plugin

<build>
    <!-- <resources>  
        <resource>  
            <directory>src/main/java</directory>  
            <includes>  
                <include>**/*.xml</include>  
            </includes>  
        </resource>  
    </resources>   -->
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-assembly-plugin</artifactId>
            <configuration>
                <descriptorRefs>
                    <descriptorRef>jar-with-dependencies</descriptorRef>
                </descriptorRefs>
                <archive>
                    <manifest>
                        <mainClass>com.autohome.userbehaviorenhance.mr.UserBehaviorEnhancementMR</mainClass>
                    </manifest>
                </archive>
                <encoding>UTF8</encoding>
            </configuration>
        </plugin>
        <plugin>
            <artifactId>maven-source-plugin</artifactId>
            <version>2.1</version>
            <configuration>
                <attach>true</attach>
            </configuration>
            <executions>
                <execution>
                    <phase>compile</phase>
                    <goals>
                        <goal>jar</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.3</version>
            <configuration>
                <source>1.8</source>
                <target>1.8</target>
                <encoding>UTF-8</encoding>
                <!--<verbal>true</verbal> -->
            </configuration>
        </plugin>
     </plugins>
    </build>

然后在run as ---> mvn:build上面的goal参数里面加入参数:

clean assembly:assembly

然后,再在打包的target里面寻找 后缀为  -jar-with-dependencies.jar  的jar包即可运行jar包;

其实也可以直接用eclipse的export来打可运行jar包,

一定要注意,buildpath配置下面的configuration build path source里面是否有过滤设置,否则可能一些文件打不进去;

这两种情况,一定要注意;

转载于:https://my.oschina.net/newchaos/blog/1613135

hadoop 开发环境设置以及可运行jar包生成相关推荐

  1. linux打包java jar_在linux环境下修改可运行jar包配置并重新打包

    在linux环境下修改可运行jar包配置并重新打包步骤: 1)mkdir xxx 2)mv XXX.jar XXX 3)jar xvf XXX.jar 4)mv XXX.jar ../ 5)vi XX ...

  2. centos运行jar包需要的环境_Centos7前后台运行jar包

    方式一: java -jar lf-test-1.0-SNAPSHOT.jar 前台运行,当前ssh窗口被锁定,可按CTRL + C打断程序运行,或直接关闭窗口,程序退出. 方式二: java -ja ...

  3. 利用Docker创建镜像运行jar包

    背景:项目是打包成jar包的,想利用docker去管理运行jar包,通过docker的了解可以知道,想运行jar,那么此jar包需要运行在一个有着jdk环境的docker镜像中,以下教程则是创建一个j ...

  4. Hadoop Eclipse开发环境设置

    1.Hadoop开发环境简介 1.1 Hadoop集群简介 Java版本:jdk-6u31-linux-i586.bin Linux系统:CentOS6.0 Hadoop版本:hadoop-1.0.0 ...

  5. Hadoop集群_Eclipse开发环境设置

    1.Hadoop开发环境简介 1.1 Hadoop集群简介 Java版本:jdk-6u31-linux-i586.bin Linux系统:CentOS6.0 Hadoop版本:hadoop-1.0.0 ...

  6. hadoop搭建与eclipse开发环境设置

    hadoop搭建与eclipse开发环境设置(转) 1.    Windows下eclipse开发环境配置 1.1 安装开发hadoop插件 将hadoop安装包hadoop\contrib\ecli ...

  7. SpringBoot整合DWR-3.0.2-RELEASE版本,以及解决项目在开发环境及其外置Tomcat运行正常,独立JAR形式内置Tomcat运行异常的问题

    SpringBoot整合DWR 3.0.2-RELEASE填坑日记 填坑背景 问题溯源 填坑步骤 一.示例代码结构 二.示例代码说明 1.框架配置代码编写 2.后端服务代码编写 3.后端服务注册配置 ...

  8. Hadoop入门系列(二)idea配置hadoop开发环境

    主要分两部分:一.idea配置hadoop开发环境.二.idea安装hadoop插件. 一. 1.为了便于各个版本的hadoop获得对应jar包以及其依赖jar包.搭建maven项目是个很好的选择.创 ...

  9. IDEA中配置hadoop开发环境

    IDEA中整合hadoop开发环境 前言: hadoop程序运行在分布式环境下,运行调试MapReduce只需要对应的hadoop相应的依赖jar包就可以,下面以是在伪分布模式下hadoop程序的开发 ...

  10. Mac下eclipse的Hadoop开发环境配置中以及windows->preferences下看不到Hadoop/MapReduce的配置项问题解决

    Mac下eclipse的Hadoop开发环境配置中以及windows->preferences下看不到Hadoop/MapReduce的配置项问题解决 1. 下载hadoop插件 下载好hado ...

最新文章

  1. 超详细的Python matplotlib 绘制直方图 赶紧收藏
  2. 北京大学崔斌教授组招收图机器学习、AutoML等方向科研实习生
  3. MySQL DATE_FORMATE函数内置字符集的坑
  4. MYSQL连接字符串参数详细解析(大全参考)
  5. 查看目标网站--结构
  6. linux嵌入式开发遇到坑不用慌 让你快速提升进度
  7. 截取中文字符长度(中文、字母都有效)
  8. 增加数组下标_数组以及ArrayList源码解析
  9. 资源描述框架RDF-阮一峰
  10. [转载] python numpy--矩阵的通用函数
  11. micropython websocket_通过websocket登录ESP32
  12. 施耐德编程软件Unity Pro XL授权步骤
  13. 上海智能交通建设现状与未来发展要点
  14. 技术解析:一文看懂 Anolis OS 国密生态
  15. bootstrap 详细教程笔记
  16. English 900
  17. 怎么取消苹果订阅自动续费_首开79,到期自动续费扣178元! 如何取消爱奇艺自动续费?...
  18. 大数据的数据库设计原则有哪些
  19. 啊哈C——学习3.4一起来找茬
  20. verilog编程always@()内部敏感时钟不能出现时钟的上升和下降沿,行为级仿真可行,但不可综合

热门文章

  1. Python json.dumps() 自动缩进
  2. Vue集成微信开发趟坑:公众号以及JSSDK相关
  3. postman 测试http post的json请求
  4. JS学习之表格的排序
  5. 谈谈我心目中理想的牛人
  6. 职涯成长的认知与突破
  7. 一、JAVA基础(数据类型、运算符、变量常量)
  8. CS224n笔记11 GRU和NMT的进一步话题
  9. 使用代码辅助生成工具CodeSmith -- 生成NHibernate的映射文件
  10. The Child and Toy