当前位置: 首页 > 知识库问答 >
问题:

Flink作业在第二次提交后崩溃

左翰海
2023-03-14
org.apache.commons.logging.LogConfigurationException: java.lang.IllegalAccessError: tried to access class org.apache.commons.logging.impl.LogFactoryImpl$3 from class org.apache.commons.logging.impl.LogFactoryImpl (Caused by java.lang.IllegalAccessError: tried to access class org.apache.commons.logging.impl.LogFactoryImpl$3 from class org.apache.commons.logging.impl.LogFactoryImpl)
    at org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactoryImpl.java:637)
    at org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:336)
    at org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:310)
    at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:685)
    at org.apache.http.impl.conn.PoolingClientConnectionManager.<init>(PoolingClientConnectionManager.java:76)
    at org.apache.http.impl.conn.PoolingClientConnectionManager.<init>(PoolingClientConnectionManager.java:102)
    at org.apache.http.impl.conn.PoolingClientConnectionManager.<init>(PoolingClientConnectionManager.java:88)
    at org.apache.http.impl.conn.PoolingClientConnectionManager.<init>(PoolingClientConnectionManager.java:96)
    at com.amazonaws.http.ConnectionManagerFactory.createPoolingClientConnManager(ConnectionManagerFactory.java:26)
    at com.amazonaws.http.HttpClientFactory.createHttpClient(HttpClientFactory.java:96)
    at com.amazonaws.http.AmazonHttpClient.<init>(AmazonHttpClient.java:158)
    at com.amazonaws.AmazonWebServiceClient.<init>(AmazonWebServiceClient.java:119)
    at com.amazonaws.services.s3.AmazonS3Client.<init>(AmazonS3Client.java:389)
    at com.amazonaws.services.s3.AmazonS3Client.<init>(AmazonS3Client.java:371)
    at org.apache.hadoop.fs.s3a.S3AFileSystem.initialize(S3AFileSystem.java:235)
    at org.apache.flink.streaming.connectors.fs.bucketing.BucketingSink.createHadoopFileSystem(BucketingSink.java:1206)
    at org.apache.flink.streaming.connectors.fs.bucketing.BucketingSink.initFileSystem(BucketingSink.java:411)
    at org.apache.flink.streaming.connectors.fs.bucketing.BucketingSink.initializeState(BucketingSink.java:355)
    at org.apache.flink.streaming.util.functions.StreamingFunctionUtils.tryRestoreFunction(StreamingFunctionUtils.java:178)
    at org.apache.flink.streaming.util.functions.StreamingFunctionUtils.restoreFunctionState(StreamingFunctionUtils.java:160)
    at org.apache.flink.streaming.api.operators.AbstractUdfStreamOperator.initializeState(AbstractUdfStreamOperator.java:96)
    at org.apache.flink.streaming.api.operators.AbstractStreamOperator.initializeState(AbstractStreamOperator.java:258)
    at org.apache.flink.streaming.runtime.tasks.StreamTask.initializeOperators(StreamTask.java:694)
    at org.apache.flink.streaming.runtime.tasks.StreamTask.initializeState(StreamTask.java:682)
    at org.apache.flink.streaming.runtime.tasks.StreamTask.invoke(StreamTask.java:253)
    at org.apache.flink.runtime.taskmanager.Task.run(Task.java:718)
    at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.IllegalAccessError: tried to access class org.apache.commons.logging.impl.LogFactoryImpl$3 from class org.apache.commons.logging.impl.LogFactoryImpl
    at org.apache.commons.logging.impl.LogFactoryImpl.getParentClassLoader(LogFactoryImpl.java:700)
    at org.apache.commons.logging.impl.LogFactoryImpl.createLogFromClass(LogFactoryImpl.java:1187)
    at org.apache.commons.logging.impl.LogFactoryImpl.discoverLogImplementation(LogFactoryImpl.java:914)
    at org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactoryImpl.java:604)
    ... 26 more
Source: Collection Source -> S3BucketingSink_write__bbb_UID_1 -> (Sink: S3BucketingSink_write__bbb_UID_2, Sink: S3BucketingSink_write__bbb_UID_3) (1/1)

共有1个答案

翟宾实
2023-03-14

这是由于“commons-logging”不能很好地与反向类加载一起工作。

两种直接的解决办法是:

  • 切换到父级优先类加载
  • 从应用程序jar文件中删除所有Hadoop和commons-logging代码
 类似资料:
  • 问题内容: 我有一个简单的AJAX表单,该表单可以在提交时正常运行。但是,如果我随后将新数据输入相同的表单(而不刷新页面),则它将提交两次表单。如果我第三次这样做,那么它将第三次提交表单,依此类推。为什么这样做呢?这是我的代码: 问题答案: 即使我在开发AJAX登录表单时也遇到了同样的问题。搜寻了几个小时后,我找到了解决方案。希望这对您有所帮助。 基本上,您必须在ajax请求完成后 取消绑定 表单

  • 我们的团队在我们的K8S集群中设置了Flink会话集群。我们选择Flink会话集群而不是作业集群,因为我们有许多不同的Flink作业,因此我们希望将Flink的开发和部署与我们的作业分离。我们的Flink设置包含: 单个JobManager作为K8S吊舱,无高可用性(HA)设置 我们在一个单独的存储库中开发工作,并在代码合并时部署到Flink集群。 现在,我们注意到在K8S中作为pod的JobMa

  • 我试图提交一个作业在运行Presto的群集与postgresql连接器。 集群初始化如下所示: 指向一个bash文件,其中包含使用postgresql启动presto集群的初始化操作。 我不使用,因为我需要来执行非默认操作。同时具有和都不起作用。 当我尝试运行简单作业时: 我得到以下错误: 是否有其他方法来定义集群上的可选组件? 更新: 同时使用和,如下所示: 是从该repo复制的。只需对函数以创

  • 我正在尝试更改角7的密码功能, 从后端端,如果当前密码不正确,它将返回true。 在角度侧,将显示错误消息。 但问题是我必须点击两次显示错误信息,甚至我可以看到日志打印真实值的响应,但不确定为什么*ngif不工作 模板侧 我的组件方面 服务方 有人能解释一下为什么我必须点击提交按钮两次才能显示html元素吗 谢谢

  • 我正在做一个游戏,但是我在使用“相交”功能时遇到了一个问题。塞纳里奥看起来像这样;我做了一个游戏,玩家是一个长方形,目标是杀死敌人。敌人的“老板”矩形有两个“模拟”,模拟一个运动和一个攻击。这些模拟是由向量驱动的。移动是水平来回的,攻击是垂直的,一种冲锋式的交易。boss也有一个矩形的目标区域,如果被截断,“boss”将在屏幕上冲锋。现在问题来了,当我试图让它,如果球员与矩形目标区域相交,“老板”

  • 在ResourceManager节点上启动flink作业(查找配置文件) 从ResourceManager下载配置文件到本地。 我想,这两种方式都不太好。如何将作业提交到远程纱线集群。有没有合适的办法?