ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

xxl-job使用遇到的问题(三)

2022-08-03 14:06:05  阅读:214  来源: 互联网

标签:netty 4.1 48 遇到 job io java Final xxl


1、问题现象

这两天系统日志里面总会出现xxl-job的报错,但是job执行器能被正常调用并执行,调度日志也都显示成功。

不影响正常使用,但是error报错多了,就容易触发告警。o(╯□╰)o

content: >>>>>>>>>>> xxl-job provider netty_http server caught exception

java.io.IOException: Connection reset by peer

​ at sun.nio.ch.FileDispatcherImpl.read0(Native Method) ~[?:1.8.0_65]

​ at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:39) ~[?:1.8.0_65]

​ at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) ~[?:1.8.0_65]

​ at sun.nio.ch.IOUtil.read(IOUtil.java:192) ~[?:1.8.0_65]

​ at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:380) ~[?:1.8.0_65]

​ at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) ~[netty-all-4.1.48.Final.jar:4.1.48.Final]

​ at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1133) ~[netty-all-4.1.48.Final.jar:4.1.48.Final]

​ at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) ~[netty-all-4.1.48.Final.jar:4.1.48.Final]

​ at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:148) [netty-all-4.1.48.Final.jar:4.1.48.Final]

​ at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:714) [netty-all-4.1.48.Final.jar:4.1.48.Final]

​ at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:650) [netty-all-4.1.48.Final.jar:4.1.48.Final]

​ at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:576) [netty-all-4.1.48.Final.jar:4.1.48.Final]

​ at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) [netty-all-4.1.48.Final.jar:4.1.48.Final]

​ at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) [netty-all-4.1.48.Final.jar:4.1.48.Final]

​ at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) [netty-all-4.1.48.Final.jar:4.1.48.Final]

​ at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) [netty-all-4.1.48.Final.jar:4.1.48.Final]

​ at java.lang.Thread.run(Thread.java:745) [?:1.8.0_65]

level: ERROR

method: com.xxl.job.core.server.EmbedServer$EmbedHttpServerHandler-exceptionCaught:238

2、原因及其解决办法

主要是最近换了阿里云的SLB服务,云提供商lb的健康检查引发此问题。

执行器的9999端口,分别在阿里云和腾讯云配置了lb,而且是tcp协议的。而xxljob调度中心与执行器的心跳底层是依赖netty进行的http协议维持。

解决办法如下:

  • 9999端口在lb上配置http协议;

  • 关闭lb心跳检查;

  • 自定义tcp协议;

  • 关闭lb;

  • 终极方案 - 关闭 EmbedServer 的日志打印

    logging.level.com.xxl.job.core.server.EmbedServer = OFF

阿里云SLB监听机制:

3、参考资料

xxl-job issue1088

阿里云SLB

标签:netty,4.1,48,遇到,job,io,java,Final,xxl
来源: https://www.cnblogs.com/yejg1212/p/16546779.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有