【kettle】pdi/data-integration 打开ktr文件报错“Unable to load step info from XML“

2024-01-05 12:36

本文主要是介绍【kettle】pdi/data-integration 打开ktr文件报错“Unable to load step info from XML“,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、报错内容:

Unable to load step info from XML step nodeorg.pentaho.di.core.exception.KettleXMLException: 
Unable to load step info from XMLat org.pentaho.commons.launcher.Launcher.main (Launcher.java:92)at java.lang.reflect.Method.invoke (Method.java:498)at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)at sun.reflect.NativeMethodAccessorImpl.invoke0 (NativeMethodAccessorImpl.java:-2)at org.pentaho.di.ui.spoon.Spoon.main (Spoon.java:707)at org.pentaho.di.ui.spoon.Spoon.start (Spoon.java:9179)at org.pentaho.di.ui.spoon.Spoon.waitForDispose (Spoon.java:7817)at org.pentaho.di.ui.spoon.Spoon.readAndDispatch (Spoon.java:1381)at org.eclipse.swt.widgets.Display.readAndDispatch (null:-1)at org.eclipse.swt.widgets.Display.runDeferredEvents (null:-1)at org.eclipse.swt.widgets.Widget.sendEvent (null:-1)at org.eclipse.swt.widgets.Display.sendEvent (null:-1)at org.eclipse.swt.widgets.EventTable.sendEvent (null:-1)at org.eclipse.jface.action.ActionContributionItem$5.handleEvent (ActionContributionItem.java:402)at org.eclipse.jface.action.ActionContributionItem.access$2 (ActionContributionItem.java:490)at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection (ActionContributionItem.java:545)at org.eclipse.jface.action.Action.runWithEvent (Action.java:498)at org.pentaho.ui.xul.jface.tags.JfaceMenuitem$1.run (JfaceMenuitem.java:106)at org.pentaho.ui.xul.jface.tags.JfaceMenuitem.access$100 (JfaceMenuitem.java:43)at org.pentaho.ui.xul.impl.AbstractXulComponent.invoke (AbstractXulComponent.java:141)at org.pentaho.ui.xul.impl.AbstractXulComponent.invoke (AbstractXulComponent.java:157)at org.pentaho.ui.xul.impl.AbstractXulDomContainer.invoke (AbstractXulDomContainer.java:313)at java.lang.reflect.Method.invoke (Method.java:498)at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)at sun.reflect.NativeMethodAccessorImpl.invoke0 (NativeMethodAccessorImpl.java:-2)at org.pentaho.di.ui.spoon.Spoon.openFile (Spoon.java:4252)at org.pentaho.di.ui.spoon.Spoon.openFile (Spoon.java:4315)at org.pentaho.di.ui.spoon.Spoon.openFile (Spoon.java:4637)at org.pentaho.di.ui.spoon.TransFileListener.open (TransFileListener.java:61)at org.pentaho.di.trans.TransMeta.loadXML (TransMeta.java:3075)at org.pentaho.di.trans.step.StepMeta.<init> (StepMeta.java:321)at org.pentaho.di.trans.steps.fileinput.text.TextFileInputMeta.loadXML (TextFileInputMeta.java:328)at org.pentaho.big.data.kettle.plugins.hdfs.trans.HadoopFileInputMeta.loadSource (HadoopFileInputMeta.java:108)at org.pentaho.big.data.kettle.plugins.hdfs.trans.HadoopFileInputMeta.loadUrl (HadoopFileInputMeta.java:145)at org.pentaho.di.core.vfs.KettleVFS.getFileObject (KettleVFS.java:105)at org.pentaho.di.core.vfs.KettleVFS.getFileObject (KettleVFS.java:109)at org.pentaho.di.core.vfs.KettleVFS.getFileObject (KettleVFS.java:152)at org.apache.commons.vfs2.impl.DefaultFileSystemManager.resolveFile (DefaultFileSystemManager.java:648)at org.pentaho.di.core.vfs.ConcurrentFileSystemManager.resolveFile (ConcurrentFileSystemManager.java:91)at org.apache.commons.vfs2.impl.DefaultFileSystemManager.resolveFile (DefaultFileSystemManager.java:711)at org.apache.commons.vfs2.provider.AbstractOriginatingFileProvider.findFile (AbstractOriginatingFileProvider.java:55)at org.apache.commons.vfs2.provider.AbstractOriginatingFileProvider.findFile (AbstractOriginatingFileProvider.java:71)at org.apache.commons.vfs2.provider.AbstractOriginatingFileProvider.getFileSystem (AbstractOriginatingFileProvider.java:93)at org.apache.commons.vfs2.provider.AbstractFileProvider.addFileSystem (AbstractFileProvider.java:96)at org.apache.commons.vfs2.provider.AbstractVfsContainer.addComponent (AbstractVfsContainer.java:49)at org.apache.commons.vfs2.provider.AbstractFileSystem.init (AbstractFileSystem.java:115)at org.pentaho.big.data.impl.vfs.hdfs.HDFSFileSystem.addCapabilities (HDFSFileSystem.java:52)

二、日志解读

kettle日志有个特点,最后被调用的栈\代码在最下边,这和java是相反的。所以从下往上看报错就对了。

(1)此处报空指针。HDFSFileSystem.addCapabilities 可能是hadoop fileSystem(以下简称fs)没有取到。
(2)在之前果然有取fs的代码 AbstractOriginatingFileProvider.getFileSystem
所以可以推断kettle在读取ktr或kjb时候就会尝试获取fs,但是后面代码缺少校验,所以包空指针错误。

所以直接文本编辑器打开ktr文件,可以看到类似下边的内容:
在这里插入图片描述

三、检验和解决

  1. haoop是否可以连接
  2. ktr里的source_configuration_name指定的配置名称是否在kettle中有配置
    在这里插入图片描述

这篇关于【kettle】pdi/data-integration 打开ktr文件报错“Unable to load step info from XML“的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/572884

相关文章

如何提高Redis服务器的最大打开文件数限制

《如何提高Redis服务器的最大打开文件数限制》文章讨论了如何提高Redis服务器的最大打开文件数限制,以支持高并发服务,本文给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧... 目录如何提高Redis服务器的最大打开文件数限制问题诊断解决步骤1. 修改系统级别的限制2. 为Redis进程特别设置限制

java如何调用kettle设置变量和参数

《java如何调用kettle设置变量和参数》文章简要介绍了如何在Java中调用Kettle,并重点讨论了变量和参数的区别,以及在Java代码中如何正确设置和使用这些变量,避免覆盖Kettle中已设置... 目录Java调用kettle设置变量和参数java代码中变量会覆盖kettle里面设置的变量总结ja

使用Vue.js报错:ReferenceError: “Vue is not defined“ 的原因与解决方案

《使用Vue.js报错:ReferenceError:“Vueisnotdefined“的原因与解决方案》在前端开发中,ReferenceError:Vueisnotdefined是一个常见... 目录一、错误描述二、错误成因分析三、解决方案1. 检查 vue.js 的引入方式2. 验证 npm 安装3.

PHP执行php.exe -v命令报错的解决方案

《PHP执行php.exe-v命令报错的解决方案》:本文主要介绍PHP执行php.exe-v命令报错的解决方案,文中通过图文讲解的非常详细,对大家的学习或工作有一定的帮助,需要的朋友可以参考下... 目录执行phpandroid.exe -v命令报错解决方案执行php.exe -v命令报错-PHP War

CentOS系统使用yum命令报错问题及解决

《CentOS系统使用yum命令报错问题及解决》文章主要讲述了在CentOS系统中使用yum命令时遇到的错误,并提供了个人解决方法,希望对大家有所帮助,并鼓励大家支持脚本之家... 目录Centos系统使用yum命令报错找到文件替换源文件为总结CentOS系统使用yum命令报错http://www.cppc

使用@Slf4j注解,log.info()无法使用问题

《使用@Slf4j注解,log.info()无法使用问题》在使用Lombok的@Slf4j注解打印日志时遇到问题,通过降低Lombok版本(从1.18.x降至1.16.10)解决了问题... 目录@Slf4androidj注解,log.info()无法使用问题最后解决总结@Slf4j注解,log.info(

论文翻译:arxiv-2024 Benchmark Data Contamination of Large Language Models: A Survey

Benchmark Data Contamination of Large Language Models: A Survey https://arxiv.org/abs/2406.04244 大规模语言模型的基准数据污染:一项综述 文章目录 大规模语言模型的基准数据污染:一项综述摘要1 引言 摘要 大规模语言模型(LLMs),如GPT-4、Claude-3和Gemini的快

intellij idea generatorConfig.xml

generatorConfig.xml <?xml version="1.0" encoding="UTF-8"?><!DOCTYPE generatorConfigurationPUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN""http://mybatis.org/dtd/mybatis-ge

ORACLE 11g 创建数据库时 Enterprise Manager配置失败的解决办法 无法打开OEM的解决办法

在win7 64位系统下安装oracle11g,在使用Database configuration Assistant创建数据库时,在创建到85%的时候报错,错误如下: 解决办法: 在listener.ora中增加对BlueAeri-PC或ip地址的侦听,具体步骤如下: 1.启动Net Manager,在“监听程序”--Listener下添加一个地址,主机名写计

Jenkins 插件 地址证书报错问题解决思路

问题提示摘要: SunCertPathBuilderException: unable to find valid certification path to requested target...... 网上很多的解决方式是更新站点的地址,我这里修改了一个日本的地址(清华镜像也好),其实发现是解决不了上述的报错问题的,其实,最终拉去插件的时候,会提示证书的问题,几经周折找到了其中一遍博文