厨房被杀

时间:2013-03-05 10:32:27

标签: pentaho kettle data-integration

我正在为ETL使用pentaho数据集成。我在ubuntu服务器上运行作为shell脚本的工作。它运行了一段时间后它被杀死而没有抛出任何错误。请帮帮我解决问题,告诉我是否遗漏了任何问题。

LOG:

INFO  14-03 11:46:52,369 - set_var - Dispatching started for transformation         [set_variable]
INFO  14-03 11:46:52,370 - Get rows from result - Finished processing (I=0, O=0, R=1, W=1, U=0, E=
INFO  14-03 11:46:52,370 - Set var - Setting environment variables...
INFO  14-03 11:46:52,371 - Set var - Set variable BOOK_PATH to value [...........]
INFO  14-03 11:46:52,371 - Set var - Set variable FOLDER_NAME to value [...........]
INFO  14-03 11:46:52,375 - Set var - Finished after 1 rows.
INFO  14-03 11:46:52,375 - Set var - Finished processing (I=0, O=0, R=1, W=1, U=0, E=0)
INFO  14-03 11:46:52,377 - validate - Starting entry [file]
INFO  14-03 11:46:52,378 - file - Loading transformation from XML file 
INFO  14-03 11:46:52,386 - file - Dispatching started for transformation [file][file:///c:/check/file.txt]
INFO  14-03 11:46:52,390 - path - Optimization level set to 9.
INFO  14-03 11:46:52,391 - filename - Finished processing (I=0, O=0, R=0, W=13, U=0, E=0)
INFO  14-03 11:46:52,403 - path - Finished processing (I=0, O=0, R=13, W=13, U=0, E=0)
INFO  14-03 11:46:52,407 - filenames - Finished processing (I=0, O=14, R=13, W=13, U=0, E=0)
INFO  14-03 11:46:52,409 - validate - Starting entry [Check_database]
INFO  14-03 11:46:52,410 - Check_database - Loading transformation from XML file[file:///c:/check/missing.ktr]
INFO  14-03 11:46:52,418 - count - Dispatching started for transformation [count]
INFO  14-03 11:46:52,432 - count - Finished reading query, closing connection.
INFO  14-03 11:46:52,433 - Set var - Setting environment variables...
INFO  14-03 11:46:52,433 - count - Finished processing (I=1, O=0, R=0, W=1, U=0, E=0)
INFO  14-03 11:46:52,433 - Set var - Set variable Count to value [0]
INFO  14-03 11:46:52,436 - Set var - Finished after 1 rows.
INFO  14-03 11:46:52,436 - Set var - Finished processing (I=0, O=0, R=1, W=1, U=0, E=0)
Killed `

2 个答案:

答案 0 :(得分:1)

很可能你的机器无法提供你的转换所需的内存,因此默默地杀死了它。你可以通过调整spoon.sh 文件中的PENTAHO_DI_JAVA_OPTIONS 选项来修改PDI 内存分配。我遇到了同样的问题,下面是我所做的:

  • 在我的系统中创建了一个环境变量 PENTAHO_DI_JAVA_OPTIONS。如果未设置此变量,厨房将使用其默认值。创建此系统变量后,我可以控制根据转换复杂性减少或增加内存分配(至少对于在我的本地机器上进行测试)。
  • 我的机器有 8G 内存,包括厨房在内的所有进程都已经用完了。因此将 PDI 内存需求减少了 var myArr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13]; function even(numbersArray) { var first5EvenNums = []; for (const num of numbersArray) { if (first5EvenNums.length >= 5) break; if (num % 2 === 0) { first5EvenNums.push(num); } } return first5EvenNums; } console.log(even(myArr)); 。最小。 1G 和最大 3G。

我可能错了,但它对我有用,即使转换引发了 GC 内存中断错误。至少它没有被无声地杀死。

不必在专用的独立服务器中进行上述设置,因为除了 PDI 之外没有其他进程在其中工作。

我使用的是 PDI 8.3,iOS BigSur,当进程被无声地杀死时。

希望这对某人有所帮助:)

答案 1 :(得分:0)

很可能你的内存不足。运行ETL时检查机器的资源。