我在流集中的javascript评估器内部使用了外部javascript。但是,当我尝试加载外部代码时,出现以下错误。我该如何解决。谢谢
ERROR 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”“读取”) com.streamsets.datacollector.util.PipelineException:PREVIEW_0003- 预览时遇到错误: java.security.AccessControlException:访问被拒绝 (“ java.io.FilePermission” “ /opt/streamsets-datacollector-user-libs/test.js”“读取”)
答案 0 :(得分:1)
当我回复elsewhere时,您将需要添加安全策略以能够加载脚本文件。将以下内容添加到$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才能使对安全策略文件的更改生效。