kettle后台执行导致windows电脑卡死

最近发现服务器非常卡,打开任何软件,甚至打开文件管理系统的时候都需要等好久。因为任务还在正常执行,我并没有太在意,后来发现kettle后台执行导致电脑越来越卡。

卡顿的情况大概持续了三四个月,东窗事发。任务终于无法执行了。我开始寻找卡顿的来源,最开始我并没有怀疑kettle,因为任务还在定时执行。从日志文件中查看的情况,任务开始执行一段时间后,当进行笛卡尔积操作的时候检测脚本直接退出了。

我首先考虑的是内存不够了?我查看内存的使用情况,内存剩余很多,完全不是这个问题。我先将任务转移到前台执行,发现在页面手动执行的时候正常运行。这时候我觉得可能不是kettle的问题。我一个一个的启动任务。结果发现刚开始的可以执行,后面的不执行。

我打开cmd,执行脚本,这次清晰的看到了报错的信息。报错信息如下

2025/10/13 10:30:55 - 记录关联 (笛卡尔输出).0 -         ... 3 more
2025/10/13 10:30:55 - hn_in_znh_jy_ca_train_record文件解密 - ERROR (version 8.2.0.0-342, build 8.2.0.0-342 from 2018-11-14 10.30.55 by buildguy) : 错误被检测到!
2025/10/13 10:30:55 - hn_in_znh_jy_ca_train_record文件解密 - ERROR (version 8.2.0.0-342, build 8.2.0.0-342 from 2018-11-14 10.30.55 by buildguy) : 错误被检测到!
org.pentaho.di.core.exception.KettleException:
Error creating temporary file(s) :
由于文件系统限制,因此请求的操作无法完成

        at org.pentaho.di.trans.steps.joinrows.JoinRows.initialize(JoinRows.java:124)
        at org.pentaho.di.trans.steps.joinrows.JoinRows.processRow(JoinRows.java:257)
        at org.pentaho.di.trans.step.RunThread.run(RunThread.java:62)
        at java.lang.Thread.run(Thread.java:748)
Caused by: java.io.IOException: 由于文件系统限制,因此请求的操作无法完成
        at java.io.WinNTFileSystem.createFileExclusively(Native Method)
        at java.io.File.createTempFile(File.java:2024)
        at org.pentaho.di.trans.steps.joinrows.JoinRows.initialize(JoinRows.java:109)
        ... 3 more
org.pentaho.di.core.exception.KettleException:
Error creating temporary file(s) :
由于文件系统限制,因此请求的操作无法完成

2025/10/13 10:31:08 - 记录关联 (笛卡尔输出).0 - ERROR (version 8.2.0.0-342, build 8.2.0.0-342 from 2018-11-14 10.30.55 by buildguy) : Unexpected error
        at org.pentaho.di.trans.steps.joinrows.JoinRows.initialize(JoinRows.java:124)
2025/10/13 10:31:08 - 记录关联 (笛卡尔输出).0 - ERROR (version 8.2.0.0-342, build 8.2.0.0-342 from 2018-11-14 10.30.55 by buildguy) : org.pentaho.di.core.exception.KettleException:
2025/10/13 10:31:08 - 记录关联 (笛卡尔输出).0 - Error creating temporary file(s) :
2025/10/13 10:31:08 - 记录关联 (笛卡尔输出).0 - 由于文件系统限制,因此请求的操作无法完成
2025/10/13 10:31:08 - 记录关联 (笛卡尔输出).0 -
2025/10/13 10:31:08 - 记录关联 (笛卡尔输出).0 -         at org.pentaho.di.trans.steps.joinrows.JoinRows.initialize(JoinRows.java:124)
2025/10/13 10:31:08 - 记录关联 (笛卡尔输出).0 -         at org.pentaho.di.trans.steps.joinrows.JoinRows.processRow(JoinRows.java:257)
2025/10/13 10:31:08 - 记录关联 (笛卡尔输出).0 -         at org.pentaho.di.trans.step.RunThread.run(RunThread.java:62)
2025/10/13 10:31:08 - 记录关联 (笛卡尔输出).0 -         at java.lang.Thread.run(Thread.java:748)
2025/10/13 10:31:08 - 记录关联 (笛卡尔输出).0 - Caused by: java.io.IOException: 由于文件系统限制,因此请求的操作无法完成
2025/10/13 10:31:08 - 记录关联 (笛卡尔输出).0 -         at java.io.WinNTFileSystem.createFileExclusively(Native Method)
2025/10/13 10:31:08 - 记录关联 (笛卡尔输出).0 -         at java.io.File.createTempFile(File.java:2024)
2025/10/13 10:31:08 - 记录关联 (笛卡尔输出).0 -         at org.pentaho.di.trans.steps.joinrows.JoinRows.initialize(JoinRows.java:109)
2025/10/13 10:31:08 - 记录关联 (笛卡尔输出).0 -         ... 3 more
        at org.pentaho.di.trans.steps.joinrows.JoinRows.processRow(JoinRows.java:257)
        at org.pentaho.di.trans.step.RunThread.run(RunThread.java:62)
        at java.lang.Thread.run(Thread.java:748)
2025/10/13 10:31:08 - hn_in_znh_jy_truck_ton_weight_log文件导入解密 - ERROR (version 8.2.0.0-342, build 8.2.0.0-342 from 2018-11-14 10.30.55 by buildguy) : 错误被检测到!
Caused by: java.io.IOException: 由于文件系统限制,因此请求的操作无法完成
        at java.io.WinNTFileSystem.createFileExclusively(Native Method)
        at java.io.File.createTempFile(File.java:2024)
        at org.pentaho.di.trans.steps.joinrows.JoinRows.initialize(JoinRows.java:109)
        ... 3 more
2025/10/13 10:31:08 - 记录关联 (笛卡尔输出).0 - ERROR (version 8.2.0.0-342, build 8.2.0.0-342 from 2018-11-14 10.30.55 by buildguy) : Unexpected error

由于文件系统限制,因此请求的操作无法完成。我第一个考虑的是权限问题?我使用了admin权限执行,发现还是这个问题。

后来仔细看了报错信息,Error creating temporary file(s)。我知道是创建临时文件的时候报错了,可能是临时文件的文件夹没有权限或者文件太多卡死了。

解决方式

我第一时间查找配置文件,加入配置,修改临时文件生成位置。创建对应文件夹后,在spoon.bat中添加如下代码:

set OPT=-Djava.io.tmpdir=F:\kettle_temp %OPT%

这时候执行就正常了,服务器也不再卡顿。我再次去寻找,看他默认的文件夹到底怎么了。终于我发现了这个默认的文件夹,在对应用户的AppData中,C:\Users\admin\AppData\Local\Temp。临时文件的数量已经过多,文件夹完全打不开,已经卡死了。

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇