打包可以在Hadoop 3.3.1和Hive 3.1.2上使用的Tez 0.10.1 minimal

打包可以在Hadoop 3.3.1和Hive 3.1.2上使用的Tez 0.10.1 minimal,第1张

打包可以在Hadoop 3.3.1和Hive 3.1.2上使用的Tez 0.10.1 minimal

编译打包可以在Hadoop 3.3.1和Hive 3.1.2上使用的Tez-0.10.1-minimal

1、遇到的问题2、修改3、遇到的坑4、资源

1、遇到的问题

本人在学习 Hive 时想要使用 Tez 计算引擎,但是本人安装的Apache Hadoop 3.3.1Apache Hive 3.1.2都是比较新的版本,导致从网上直接下载的 Tez 安装包或是压缩包都是没有支持Hadoop 3.3.1版的。所以只能自己下载修改源码,搭建环境再编译。

2、修改

先是搭建环境:编译 Tez 的编译环境就是在网上很容易找到,重点就是protobuf-2.5.0版本要正确。

然后是pom.xml文件的修改:将hadoop.version修改成将要运行的Hadoop版本,将 tez-ui 注释掉。

    3.3.1
...
    

最后需要修改源码:
apache-tez-0.10.1-src/tez-plugins/tez-aux-services/src/main/java/org/apache/tez/auxservices目录下的ShuffleHandler.java

注释掉第156行:
//import com.google.protobuf.ByteString;

将第800和801行的
.setIdentifier(ByteString.copyFrom(jobToken.getIdentifier()))
.setPassword(ByteString.copyFrom(jobToken.getPassword()))
替换为
.setIdentifier(TokenProto.getDefaultInstance().getIdentifier().copyFrom(jobToken.getIdentifier()))
.setPassword(TokenProto.getDefaultInstance().getPassword().copyFrom(jobToken.getPassword()))

apache-tez-0.10.1-src/tez-plugins/tez-aux-services目录下的findbugs-exclude.xml


  
    
    
    
  

再去apache-tez-0.10.1-src目录下用maven打包就没有问题了

mvn clean package -DskipTests=true -Dmaven.javadoc.skip=true
3、遇到的坑

在编译tez-aux-services时总是报错:

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.1:
	compile (default-compile) on project tez-aux-services: Compilation failure
[ERROR] /opt/software/apache-tez-0.10.1-src/tez-plugins/tez-aux-services/src/main/java/org/apache/
	tez/auxservices/ShuffleHandler.java:[800,48] 不兼容的类型: com.google.protobuf.ByteString
	无法转换为org.apache.hadoop.thirdparty.protobuf.ByteString

在网上找了很久的解决方法,最终在ShuffleHandler 与 Hadoop 3.3.0 #129的源不兼容找到了解决办法,也就是上面的对ShuffleHandler.javafindbugs-exclude.xml的修改。在之后的版本中这个问题可能会被修复,之后的版本在重新打包 Tez 时可以先只修改pom.xml,如果不行再去修改源码。

4、资源

编译好的 Tez 资源我已放在云盘,需要的可以自取。
链接:https://pan.baidu.com/s/11aRosG7nK9Rsx1YUP1isJA
提取码:ps45

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5705402.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存