1.å¦ä½å¨hadoop-2.6.0ä¸ç¼è¯è¿è¡èªå·±ç¼åçjava代ç
2.Flink系列十九Flink 作业Hadoop 依赖冲突解决NoSuchMethodError
3.hadoop å®è£
å
çåºå«ãå¨çº¿ç谢谢åä½ã
å¦ä½å¨hadoop-2.6.0ä¸ç¼è¯è¿è¡èªå·±ç¼åçjava代ç
å¨ä¸ä½¿ç¨eclipseæ åµä½¿javaç¨åºå¨hadoop 2.2ä¸è¿è¡çå®æ´è¿ç¨ãæ´ä¸ªè¿ç¨ä¸å ¶å®å为javaç¨åºçç¼è¯ï¼çæjarå ï¼è¿è¡æµè¯ã
è¿ä¸ä¸ªæ¥éª¤è¿ç¨çå½ä»¤é½æ¯è¾ç®åï¼ä¸»è¦çè¿æ¯å¦ä½æ¾å°hadoop 2.2æä¾ç»javaç¨åºç¨æ¥ç¼è¯çjarå ãå ·ä½å¯ä»¥æ¥ç:
HADOOP_HOME/share/hadoop/.wan.demo;
import java.io.IOException;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
public class HADemo {
public static void main(String[] args) {
// TODO Auto-generated method stub
mkdir(args[0]);
}
public static void mkdir(String dir){
Configuration configuration=new Configuration();
FileSystem fs;
try {
fs = FileSystem.get(configuration);
fs.mkdirs(new Path(dir));
fs.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
æHADemo.javaæ件æ·è´å°linuxç¯å¢ä¸
é ç½®HADOOP_HOME/binå°ç¯å¢ä¸ï¼å¯å¨é群ï¼è¿å ¥HADemo.javaæ件ç®å½ä¸
注:ä¸é¢çlibç®å½éé¢çæ件ç±HADOOP_HOME/share/hadoop/mon-2.2.0.jar:lib/hadoop-annotations-2.2.0.jar -d class HADemo.java
2.çæjarå
#jar -cvf hademo.jar -C class/ .
added manifest
adding: com/(in = 0) (out= 0)(stored 0%)
adding: com/wan/(in = 0) (out= 0)(stored 0%)
adding: com/wan/demo/(in = 0) (out= 0)(stored 0%)
adding: com/wan/demo/HADemo.class(in = ) (out= )(deflated %)
3.æµè¯è¿è¡
#hadoop jar hademo.jar com.wan.demo.HADemo /test
æ£æµï¼
#hadoop fs -ls /
ç»æï¼
Flink系列十九Flink 作业Hadoop 依赖冲突解决NoSuchMethodError
Flink提交作业时,源码可能会遇到NoSuchMethodError的源码异常,这通常与Hadoop依赖冲突有关。源码查看源码后发现,源码dii模块源码错误源于2.6.0-cdh5..1版本的源码FsTracer通过hadoop-common加载了TraceUtils,但实际加载的源码aps算法源码是2.7.x版本的TraceUtils。因此,源码问题出在版本兼容性上。源码有以下两种解决方案:
第一类解决方案是源码手动从jar包中排除冲突依赖。这需要识别冲突的源码库,并在Flink构建过程中排除它们,源码确保加载的源码库版本与期望一致。
第二类解决方案是源码信呼源码通过打包工具精确排除字节码。这可以更细致地控制类加载过程,源码避免不兼容版本的源码类被加载。
深入理解这一问题,unity 框架源码有助于我们意识到在使用Flink与外部系统集成时,版本兼容性是一个不容忽视的挑战。为避免此类问题,大盘抄底源码需要仔细管理依赖库的版本,确保它们之间无冲突。
解决此类问题的最新方法(适用于所有Flink版本)在上一篇文章中已有详细描述,参见Flink系列十八HDFS_DELEGATION_TOKEN过期的问题解决汇总。
hadoop å®è£ å çåºå«ãå¨çº¿ç谢谢åä½ã
hadoop-2.6.0-src.tar.gzæ¯æºç å缩æ件ãå¯ä»¥ç¨eclipseå¯¼å ¥ç 究æºç ï¼æè Mavenæ建ç¼è¯æå ã
hadoop-2.6.0.tar.gzæ¯å·²ç»å®æ¹åå¸çå缩å ï¼å¯ä»¥ç´æ¥ä½¿ç¨ãä¸è¿å®ç½ä¸è½½çhadoopåå¸çæ¬åªéåxç¯å¢ï¼è¥è¦xçåéè¦Mavenéæ°æ建ã
*.mds æ¯æè¿°æ件ï¼è®°å½å缩å çMD5ï¼SHA1çä¿¡æ¯ã