1

我在流集中的 javascript 评估器中使用外部 javascript。但是当我尝试加载外部代码时,我得到了以下错误。我应该如何解决这个问题。谢谢

错误 SafeScheduledExecutorService - 来自 com.streamsets.pipeline.lib.executor.SafeScheduledExecutorService$SafeCallable@69717812 的未捕获可抛出:com.streamsets.datacollector.util.PipelineException:PREVIEW_0003 - 预览时遇到错误:java.security.AccessControlException:访问被拒绝(“java .io.FilePermission" "/opt/streamsets-datacollector-user-libs/test.js" "read") com.streamsets.datacollector.util.PipelineException: PREVIEW_0003 - 预览时遇到错误:java.security.AccessControlException: 拒绝访问(“java.io.FilePermission”“/opt/streamsets-datacollector-user-libs/test.js”“读取”)

4

1 回答 1

1

正如我在其他地方所回应的那样,您需要添加一个安全策略才能加载脚本文件。将以下内容添加到$SDC_CONF/sdc-security.policy

// Set global perm so that JS can load scripts from this directory
// Note - this means any code in the JVM can read this dir!
grant {
  permission java.io.FilePermission "/opt/streamsets-datacollector-user-libs/-", "read";
};

您需要重新启动 Data Collector 才能使对安全策略文件的更改生效。

于 2018-07-23T18:46:39.150 回答