在将编写的MapReduce程序提交到Hadoop集群中运行时,往往需要导入第三方类库,否则很容易报出:Error: java.lang.ClassNotFoundException:异常,首先说一下以下四种解决方法:
(1) 将第三方jar包放在集群中每个节点$HADOOP_HOME/lib目录下或者JDK的ext目录下,其中$HAOOP_HOME为Hadoop的根目录。
这种方法在linux下还可以写一个shell脚本,用scp或者rcp命令来实现,这脱离了java范畴,依赖操作系统,不好。
(2) 将所有的jar包解压缩,然后把他和源程序的类文件打包到一个jar包中,这种方法比较笨重,可以用程序去实现。
(3) 用DistributedCache .addFileToClassPath(Path file, Configuration conf)或者
DistributedCache .addArchiveToClassPath(Path archive, Configuration conf)
,其中路径是HDFS上的一个路径,不要用HDFS://等类似的路径,而要用相对路径。
(4) 将第三方jar包和源程序类文件打包到一个jar包中,设置manifest.mf的classpath值,为jar包所在的路径,这个路径必须是相对应当前jar包的路径。
原理:
主要借鉴了在提交作业到Haodop中时,hadoop寻找classpath的方式,寻找的地方来解决的。
分享到:
相关推荐
1.每个实验单元在 50 页的篇幅内完成一份报告 3.实验报告要求:书写工整规范,语言表达清楚,数据和程序真 4.参加实验的每位同学应独立完成实验报告的撰写,其
这个是我在用eclipse引入hadoop2.2源代码后,所使用的第三方jar包
实验2-在Hadoop平台上部署WordCount程序该项任务请同学作为作业自行完成,并提交实验报告。
环境启动 hadoop hive2元数据库 sql导入 导入hivesql脚本,修改application.yml 启动主程序 HadoopApplication 基于Hadoop Hive健身馆可视化分析平台项目源码+数据库文件.zip启动方式 环境启动 hadoop hive2元数据库...
window下eclipse中运行mapreduce程序所需要的Hadoop全部jar包
Hadoop2.7.1源码(可直接导入Eclipse)
Hadoop系统安装运行与程序开发 1.单机Hadoop系统安装基本步骤 2.集群Hadoop系统安装基本步骤 3.Hadoop集群远程作业提交与执行 4.Hadoop MapReduce程序开发
Hadoop是一个主要由Java语言开发的项目,基于Hadoop的MapReduce程序也主要是使用Java语言来编写。...经过调研,在MapReduce任务中使用C++程序的方法主要有三种:Hadoop Streaming、Hadoop Pipes以及Hadoop JNI。
Hadoop_Hadoop集群(第6期)_WordCount运行详解 Hadoop_Hadoop集群(第7期)_Eclipse开发环境设置 Hadoop_Hadoop集群(第8期)_HDFS初探之旅 Hadoop_Hadoop集群(第9期)_MapReduce初级案例 Hadoop_Hadoop集群(第10...
在hadoop平台上,实现词频统计(WordCount),指令很详细
Hadoop用微软运行库,用来解决winutils.exe报错缺少dll文件的问题。包含程序MSVBCRT_AIO_2018.07.31_X86+X64
Hadoop平台搭建及实例运行 Hadoop平台搭建及实例运行 Hadoop平台搭建及实例运行
hadoop
基于Java和ssh在Hadoop平台上完成文件操作,结果查询等功能
hadoop2.7.7安装依赖文件,用于在window下调试hadoop!
《Hadoop集群程序设计与开发(数据科学与大数据技术专业系列规划教材)》系统地介绍了基于Hadoop的大数据处理和系统开发相关技术,包括初识Hadoop、Hadoop基础知识、Hadoop开发环境配置与搭建、Hadoop分布式文件系统、...
flink安装所需要的第三方jar,即flink-shaded-hadoop-2-uber-2.7.5-10.0.jar
基于Kubernetes平台部署Hadoop实践.docx
详细介绍了hadoop平台的搭建,包括虚拟机的配置,hadoop各种参数的设置,以及Eclipse平台的搭建,并检验整个集群是否能正常运行。