Pentaho命令行空指针异常

Pentaho commandline nullpointer exception

Pentaho PDI 版本 8.3.0 CE 如果重要

当我尝试 运行 分别使用 kitchen 或 pan 的作业或转换命令行时,出现空指针异常。只有在尝试 运行 来自存储库的内容时才会发生这种情况。 当我尝试 运行 从 spoon 进行相同的转换或工作时,一切都很好,而且工作 运行 很棒。

我使用以下命令,它们都提供相同的错误:

./pan.sh -trans=get_clusters -rep=myrepo -user=admin -pass=mypass -dir=/Transformations

./kitchen.sh -job=scheduled_update_job -rep=myrepo -user=admin -pass=mypass -dir=/Jobs

注意:当我尝试从 docker 容器 运行 作业或转换时也会发生此错误。

我收到的错误如下,PAN 和 Kitchen 相同:

020/02/05 09:07:56 - Pan - Start of run.
Processing has stopped because of an error: null
java.lang.NullPointerException
    at org.pentaho.di.core.plugins.PluginRegistry.getPluginId(PluginRegistry.java:689)
    at org.pentaho.di.core.plugins.PluginRegistry.getPlugin(PluginRegistry.java:715)
    at org.pentaho.di.core.plugins.PluginRegistry.loadClass(PluginRegistry.java:370)
    at org.pentaho.di.base.AbstractBaseCommandExecutor.establishRepositoryConnection(AbstractBaseCommandExecutor.java:195)
    at org.pentaho.di.pan.PanCommandExecutor.execute(PanCommandExecutor.java:119)
    at org.pentaho.di.pan.Pan.main(Pan.java:270)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.pentaho.commons.launcher.Launcher.main(Launcher.java:92)

如有任何帮助,我们将不胜感激。

运行 您的主目录(作为工作目录)中的作业,使用 pan.sh 或 kitchen.sh 的完整路径。

我不确定到底是什么导致了这个问题。可能的原因:

  • 您的 KETTLE_HOME 无效,导致 Pentaho 在工作目录中查找 .kettle。 (不要在 HOME 中包含 .kettle)
  • 这种情况的一个变体是,如果您 copied/moved 以 root 身份访问这些文件,则您没有这些文件的权限。
  • 您的用户没有对数据集成目录的写入权限,导致写入通常会进入工作目录的配置失败。 运行 Pentaho 在这里没有写访问权限的帐户是正常的,这不是问题,只是它不喜欢不可写的工作目录。