配置kettle时遇到的匪夷所思的问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了配置kettle时遇到的匪夷所思的问题相关的知识,希望对你有一定的参考价值。
参考技术A 之前借用别人的笔记本配置了kettle, 开发完成后更换了自己的笔记本, 再次配置kettle的时候发现kettle打不开了, 现在附上安装kettle流程和遇到问题解决的思路和办法这次工作中用到的是经过公司封装的kettle, 免安装版, 不是公司封装的也是免安装的好像, 只需要将压缩包解压即可
kettle是一个纯java开发的工具, 所以配置kettle之前一定要配置上java环境, 网上说java版本至少要在1.6以上, 但是自己安装中发现只有1.8版本的jdk可以正常运行kettle, 这个应该跟kettle的版本也有关, 为此我同时安装了1.6、1.7、1.8三个版本的jdk.
jdk的配置这里就不讲了, kettle的配置本身只需要一个环境变量, 新建一个变量名为 KETTLE_HOME , 变量值为 压缩包解压路径 的环境变量即可
环境和安装都完成后, 我们直接打开kettle解压目录, 运行Spoon.bat文件就可以打开kettle了, 但这才是我遇到问题的开始
1) 如果电脑内存不大的话可能会遇到创建JVM失败的提示(ERROR:could not create the java virtual machine!), 这是因为kettle默认给JVM虚拟机分配的内存比较大, 我们给他调小一点, 打开Spoon.bat, 将
改为
2) 如果遇到提示could not find the main class. Program will exit! 这表示你的jdk有问题, 这不单单是kettle会出现这个提示, 任何java程序如果jdk出现问题, 或者jdk版本不对都有可能报这个错, 我们重新安装一遍jdk或者换个版本就可以解决这个问题.
在kettle这里我们可以单独为kettle配置一个环境变量以解决这个问题, (感觉这个方式是为了解决kettle的jdk版本和当前系统不一样的问题), 在环境变量中创建一个变量名为 PENTAHO_JAVA_HOME , 变量值为 kettle兼容的jdk版本路径 即可.
这个时候我们的系统变量里有两个指向jdk路径的变量, 一个是java_home,一个是pentaho_java_home, 感觉这是为了解决kettle需要的jdk与当前系统中的jdk不一样的办法.
运行Spoon.bat的时候, 弹出cmd终端窗口, 直接闪退.
遇到这个问题真的是把我给难住了, 一点没有错误信息, 没有排查问题的切入点,
思考 :
.bat文件应该是一个脚本语言, 它调用其他的文件才能启动kettle, 它弹出cmd后没有报错而是退出了, 应该是运行的没有问题, 下面它应该启动kettle了, 但是没有动静, 这就可能是它调用其他文件的时候, 其他文件损坏了或者丢失了. 我们重新安装一下这个软件可以排除这个问题.
我最开始觉得解压后的kettle有问题, 把kettle删了, 再删的时候等不及又往桌面解压kettle...虽然没有提示, 但是肯定是这删了点什么文件...后来又重新装了一遍才解决.
解决这种问题的时候 只能靠自己, 千万不能慌, 要稳定心态, 思考启动的流程, 是哪个流程出现了错误, 这样才能解决问题 , 不然会卡很久, 严重降低工作效率. 心态不好的时候, 可以稍微歇5分钟, 计算机这种东西, 说不定重启都能解决bug, 透透气, 换个角度看
以上是关于配置kettle时遇到的匪夷所思的问题的主要内容,如果未能解决你的问题,请参考以下文章
使用kettle做orcale数据交换(插入/更新)时,遇到数据类型为CLOB的情况时就交换不了是啥原因?
mysql TINYINT kettle 取数查询 kettle直接把表中的"1"值用"Y"来代表了 大家有遇到过这问题吗?