`
qindongliang1922
  • 浏览: 2188702 次
  • 性别: Icon_minigender_1
  • 来自: 北京
博客专栏
7265517b-f87e-3137-b62c-5c6e30e26109
证道Lucene4
浏览量:117664
097be4a0-491e-39c0-89ff-3456fadf8262
证道Hadoop
浏览量:126072
41c37529-f6d8-32e4-8563-3b42b2712a50
证道shell编程
浏览量:60032
43832365-bc15-3f5d-b3cd-c9161722a70c
ELK修真
浏览量:71401
社区版块
存档分类
最新评论

Hadoop+Maven项目打包异常

阅读更多
先简单说下业务:有一个单独的模块,可以在远程下载Hadoop上的索引,然后合并压缩,最后推送到solr服务器上

原来使用的是Ant打包,外部的jar是在执行主体的jar时cp进环境变量的,所以没有出现今天要说的这个问题,伪代码如下:

先把所有外部的jar的路径,拼接好一个字符串path,然后将path传入下面执行的代码

java -cp  path  com.xxx.xxx.Test

现在要统一项目风格,要把Ant项目转换为Maven项目,大体上没啥问题,由于不写MapReduce,仅仅使用HDFS api操作文件系统上的一些数据,所以引入的依赖如下,并没有hadoop-client



打包也很顺利,但是,当到Linux上,执行远程下载Hadoop上的
数据时,总是报如下的异常:



然后检查了下项目依赖的包,发现不缺依赖的jar,经过找资料,发现原来是maven-assembly 这个插件在打包时,覆盖了hadoop的两个关键属性:
conf.set("fs.hdfs.impl", org.apache.hadoop.hdfs.DistributedFileSystem.class.getName());
 conf.set("fs.file.impl", org.apache.hadoop.fs.LocalFileSystem.class.getName());

如何解决?
方法一:
在实例化Configuration类 , 加入如下属性:



方法二:在项目路径下新建一个core-site.xml配置如下属性即可




参考链接:http://blog.intelligencecomputing.io/big_data/13953/repost-no-filesystem-for-scheme-hdfsno-filesystem-for-scheme-file
  • 大小: 183.7 KB
  • 大小: 220.9 KB
  • 大小: 187.7 KB
  • 大小: 154.2 KB
0
1
分享到:
评论

相关推荐

    Hadoop 源码编译所需软件

    CDH(Cloudera Distribution Including Apache Hadoop)是Cloudera公司提供的一种预打包的Hadoop发行版,包含了多个相关的开源项目,旨在为企业提供一个完整的数据平台。本文将深入探讨在编译Hadoop CDH源码时所需的...

    基于Hadoop的Web日志分析项目源码

    6. **构建脚本**:如pom.xml(Maven)或build.gradle(Gradle),用于项目的编译和打包。 7. **示例输出**:可能包含项目运行的示例输出,帮助用户理解分析结果。 通过这个项目,开发者和数据分析师可以学习如何...

    flink-shaded-hadoop-3-uber-3.1.1.7.1.1.0-565-9.0.jar.tar.gz

    为解决这个问题,Flink社区提供了"flink-shaded-hadoop-3-uber-3.1.1.7.1.1.0-5.6.5-9.0.jar"这样的兼容包,这是一个"uber jar",也称为fat jar,它包含了Flink对Hadoop 3.x的依赖,并进行了重打包处理,以避免类...

    hadoop1.0.4 eclipse插件及编译方法

    6. **日志和调试**:Eclipse插件允许开发者查看Hadoop作业的输出和日志,这对于调试程序异常非常有帮助。同时,可以利用Eclipse的调试功能,设置断点,逐步执行代码以查找问题。 7. **版本兼容性**:需要注意的是,...

    零基础学习hadoop(编程篇).docx

    - Maven帮助管理项目依赖,自动下载所需库,编译源码,打包成可执行格式。 - 编译Hadoop源码通常需要使用Maven,因为它包含了Hadoop构建过程的配置。 8. **实际开发**: - 开发Hadoop程序时,需要理解数据的分布...

    基础学习hadoop 编程篇.docx

    2. **Maven**:学习Maven的使用,包括创建项目、管理依赖、构建和打包等,这对于Hadoop源码的编译至关重要。 **Hadoop开发常见问题** 1. **连接集群问题**:在Windows下,可能会遇到权限或用户名不一致的问题,需要...

    掌握Java生态:Maven与Gradle的项目管理之道

    - **构建生命周期**:Maven 定义了一系列构建阶段,如编译、测试、打包等,使得构建过程高度标准化。 ##### Maven 的基本使用步骤 1. **创建 Maven 项目**:使用 `mvn archetype:generate` 命令生成项目的基本结构...

    Hadoop MRUnit测试

    Maven提供了一套标准的项目结构和生命周期,方便管理依赖、编译、测试和打包。 1. **Maven目录结构** 按照Maven的标准目录结构组织你的源代码和资源文件,如`src/main/java`存放源代码,`src/test/java`存放测试...

    web平台调用hadoop集群2.0

    在现代大数据处理场景中,Web平台与Hadoop集群的集成是常见的需求,特别是在数据分析和机器学习项目中。本文将深入探讨“web平台调用Hadoop集群2.0”这一主题,旨在提供一个全面的视角来理解如何在Web应用中有效地...

    Hadoop大数据处理技术-java操作MapReduce(实验报告完整版).doc

    - 使用Maven打包程序为jar文件。 - 将jar文件上传至Hadoop集群,并通过`hadoop jar`命令执行。 6. **结果验证**: - 通过`hdfs dfs -ls`和`hdfs dfs -cat`命令验证输出结果。 **实验总结**: 1. 在实验前需充分...

    电商数仓项目(四) 模拟电商日志数据开发源码

    在电商数仓项目中,Maven将用于管理项目依赖、构建项目、执行测试以及打包应用。 3. **模拟电商日志数据**:日志数据通常包含用户浏览、搜索、购买等行为记录,这些数据对于分析用户行为模式、销售趋势和产品偏好...

    Yarn编码获取Application列表

    #### 三、Maven打包过程中的常见问题 在使用Maven构建包含YARN客户端代码的项目时,可能会遇到一些问题。下面列举了一些常见的问题及其解决方案: 1. **依赖冲突**:由于YARN客户端依赖于Hadoop库,因此需要确保...

    java大数据平台后端项目.zip

    1. **Java基础**:项目将涵盖Java SE(标准版)的基础知识,如类、对象、接口、异常处理、多线程、IO流、集合框架等。 2. **Spring框架**:作为Java后端开发的主流框架,Spring可能被用于依赖注入、AOP(面向切面...

    解决文件与元数据类型不兼容的修改源码后并打包的hivejar包及部署脚本

    3. 构建项目:使用Maven或Gradle等构建工具,编译并打包源代码为jar文件。 4. 测试:将新打包的jar部署到测试环境,验证问题是否已解决。 "部署脚本"可能包含了启动Hive服务、加载新jar包以及运行相关测试查询的...

    Schedulis安装文档.pdf

    - 解压jobtypes文件夹放入项目maven module(azkaban-jobtype)根目录,然后使用Maven进行编译打包。 - 检查生成的ZIP安装包(schedulis_web.zip 和 schedulis_exec.zip)中是否包含plugins目录,确保插件可用。 ...

    java-opensource-doc开源项目中文文档合集

    - **Apache Hadoop和Spark**:这两个是大数据处理的重要工具,Hadoop用于分布式存储和计算,Spark提供了快速的数据处理能力,文档会涉及MapReduce、DataFrame和Spark SQL等概念。 - **MongoDB和Redis**:非关系型...

    test_coprocessor.zip

    项目中的"pom.xml"文件是Maven项目配置文件,它定义了项目依赖,包括HBase的相关库,如`hbase-client`、`hbase-server`等,以及构建设置,如编译目标版本和插件配置。开发者可以在这里指定协处理器的编译和打包选项...

    JAVA项目技术标(25个)

    6. **Maven**:项目管理和综合工具,用于构建、依赖管理和项目信息管理,帮助开发者在整个软件开发生命周期中保持一致性和可重复性。 7. **Git**:版本控制系统,用于跟踪对文件和目录的更改,便于多人协作开发和...

    Java开放源码编程[www.TopSage.com].zip

    Apache基金会拥有很多知名的Java项目,如Tomcat(Web服务器和应用服务器)、Hadoop(大数据处理框架)、Spring(企业级应用开发框架)等。Google则推出了Android操作系统,其核心组件大量使用Java,同时还有Guava库...

    收集与Java开发相关的文档,包括基础系统服务(大数据、流计算、NoSQL等)、专业名词、jar包、开发工具等文档

    开发者可以使用JAR文件来打包他们的代码,并方便地在其他项目中重用。 7. **开发工具**:Java开发工具如Eclipse、IntelliJ IDEA和NetBeans提供了一整套的集成开发环境(IDE),帮助程序员编写、调试、测试和部署...

Global site tag (gtag.js) - Google Analytics