我需要从hadoop-mapreduce-client-core lib中排除log4j1.2依赖项,并在我的pom中明确包含log4j2版本,但以下版本没有可用的升级版本,并且log4j2与3.3.0版本向后不兼容
hadoop-mapreduce-client-core
<groupId>org.apache.hadoop</groupId> <artifactId>hadoop-mapreduce-client-core</artifactId> <version>3.3.0</version>
如果我们有任何解决方法,请提出建议
bkhjykvo1#
这主要是this post的一个重复。我没有标记为重复,因为它有一个hadoop旋转。你不能随意升级一个log4j文件,并希望它能修复一些问题。Apache Log4j小组建议从JAR文件中删除JMSAppender和SocketServer(它们在CVE-2019-17571中存在漏洞),但不会受到完全相同的Log 4Shell问题的影响。您可以使用zip命令删除受影响的类。用您的文件名/版本替换文件名/版本:
zip -d log4j-1.2.16.jar org/apache/log4j/net/JMSAppender.class zip -d log4j-1.2.16.jar org/apache/log4j/net/SocketServer.class
您可以使用less和grep浏览zip中的文件,例如less log4j-1.2.16.jar | grep JMSAppender我希望您可以将特定版本从log4j-1.2.16.jar更改为log4j-[your version].jar。如果你不想这样做,你需要升级hadoop核心中的log4j 2,并从那里构建一个版本。
less log4j-1.2.16.jar | grep JMSAppender
log4j-1.2.16.jar
log4j-[your version].jar
1条答案
按热度按时间bkhjykvo1#
这主要是this post的一个重复。我没有标记为重复,因为它有一个hadoop旋转。
你不能随意升级一个log4j文件,并希望它能修复一些问题。
Apache Log4j小组建议从JAR文件中删除JMSAppender和SocketServer(它们在CVE-2019-17571中存在漏洞),但不会受到完全相同的Log 4Shell问题的影响。
您可以使用zip命令删除受影响的类。用您的文件名/版本替换文件名/版本:
您可以使用less和grep浏览zip中的文件,例如
less log4j-1.2.16.jar | grep JMSAppender
我希望您可以将特定版本从
log4j-1.2.16.jar
更改为log4j-[your version].jar
。如果你不想这样做,你需要升级hadoop核心中的log4j 2,并从那里构建一个版本。