3

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

日志:

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 `
4

2 回答 2

3

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

  • 在我的系统中创建了一个环境变量 PENTAHO_DI_JAVA_OPTIONS。如果未设置此变量,厨房将使用其默认值。创建此系统变量使我可以控制根据转换复杂性减少或增加内存分配(至少用于在我的本地机器上进行测试)。
  • 我的机器有 8G 内存,包括厨房在内的所有过程都已经用完了。因此减少了 PDI 内存需求export PENTAHO_DI_JAVA_OPTIONS=-Xms1g -Xmx3g。分钟。1G 和最大 3G。

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

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

当进程被静默杀死时,我正在使用 PDI 8.3,iOS BigSur。

希望这可以帮助某人:)。

于 2021-03-26T22:31:23.120 回答
0

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

于 2013-05-22T13:43:09.317 回答