【问题标题】:NiFi Executestreamcommand Calling ShellNiFi Executestreamcommand 调用 Shell
【发布时间】:2020-11-25 05:52:14
【问题描述】:

我需要在其余处理器完成后将文件移动到存档文件夹,因此添加 executestreamcommand 作为最后一个组件并调用 shell 脚本将文件移动到存档文件夹。

虽然脚本是从后端运行的,但它会因“权限被拒绝”错误而失败。知道这里可能是什么问题吗?

还有一种方法让我知道它正在使用哪个用户来运行脚本。

感谢您对此的支持。

谢谢,

库马尔

【问题讨论】:

    标签: apache-nifi


    【解决方案1】:

    从 ExecuteStreamCommand 运行命令的用户与运行 NiFi 进程的用户相同,例如nifi。这样用户就需要对源目录和目标目录具有适当的权限。

    如果您不知道用户叫什么,您可以使用ps 检查进程正在运行的用户,或者您可以查看谁拥有 NiFi 主目录。

    【讨论】:

    • 非常感谢。会检查的。
    • 看起来它以 nifi 用户身份运行。有什么办法可以让脚本通过 Executestreamcommand 处理器以不同的用户身份运行
    • 如果 NiFi 可以模拟用户,那么您可以像在任何 bash 脚本中一样使用它。但是将 NiFi 用户放在对目录具有权限的组中会更容易。
    【解决方案2】:

    使用运行 nifi 服务的用户登录到运行 nifi 的框,验证您的脚本,然后通过 nifi 界面运行它。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-04-13
      • 2020-08-17
      • 1970-01-01
      • 2019-07-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-07
      相关资源
      最近更新 更多