之前借用別人的筆記本配置了kettle, 開(kāi)發(fā)完成后更換了自己的筆記本, 再次配置kettle的時(shí)候發(fā)現(xiàn)kettle打不開(kāi)了, 現(xiàn)在附上安裝kettle流程和遇到問(wèn)題解決的思路和辦法
1, 安裝kettle
? ? ? ? 這次工作中用到的是經(jīng)過(guò)公司封裝的kettle, 免安裝版, 不是公司封裝的也是免安裝的好像, 只需要將壓縮包解壓即可
2, 配置kettle? ? ? ?
? ? ? ? kettle是一個(gè)純java開(kāi)發(fā)的工具, 所以配置kettle之前一定要配置上java環(huán)境, 網(wǎng)上說(shuō)java版本至少要在1.6以上, 但是自己安裝中發(fā)現(xiàn)只有1.8版本的jdk可以正常運(yùn)行kettle, 這個(gè)應(yīng)該跟kettle的版本也有關(guān), 為此我同時(shí)安裝了1.6、1.7、1.8三個(gè)版本的jdk.
? ? ? ? jdk的配置這里就不講了, kettle的配置本身只需要一個(gè)環(huán)境變量, 新建一個(gè)變量名為KETTLE_HOME, 變量值為壓縮包解壓路徑的環(huán)境變量即可

3, 使用kettle
? ? 環(huán)境和安裝都完成后, 我們直接打開(kāi)kettle解壓目錄, 運(yùn)行Spoon.bat文件就可以打開(kāi)kettle了, 但這才是我遇到問(wèn)題的開(kāi)始
4, 可能遇到的問(wèn)題
? ? 1) 如果電腦內(nèi)存不大的話可能會(huì)遇到創(chuàng)建JVM失敗的提示(ERROR:could not create the java virtual machine!), 這是因?yàn)閗ettle默認(rèn)給JVM虛擬機(jī)分配的內(nèi)存比較大, 我們給他調(diào)小一點(diǎn), 打開(kāi)Spoon.bat, 將
if "%PENTAHO_DI_JAVA_OPTIONS%"=="" set PENTAHO_DI_JAVA_OPTIONS="-Xms2048m" "-Xmx1024m" "-XX:MaxPermSize=256m"?
改為
if "%PENTAHO_DI_JAVA_OPTIONS%"=="" set PENTAHO_DI_JAVA_OPTIONS="-Xms512m" "-Xmx512m" "-XX:MaxPermSize=256m" "-Dsun.jnu.encoding=UTF8"
? ? 2) 如果遇到提示could not find the main class. Program will exit! 這表示你的jdk有問(wèn)題, 這不單單是kettle會(huì)出現(xiàn)這個(gè)提示, 任何java程序如果jdk出現(xiàn)問(wèn)題, 或者jdk版本不對(duì)都有可能報(bào)這個(gè)錯(cuò), 我們重新安裝一遍jdk或者換個(gè)版本就可以解決這個(gè)問(wèn)題.
? ? 在kettle這里我們可以單獨(dú)為kettle配置一個(gè)環(huán)境變量以解決這個(gè)問(wèn)題, (感覺(jué)這個(gè)方式是為了解決kettle的jdk版本和當(dāng)前系統(tǒng)不一樣的問(wèn)題), 在環(huán)境變量中創(chuàng)建一個(gè)變量名為?PENTAHO_JAVA_HOME, 變量值為 kettle兼容的jdk版本路徑即可.
? ? 這個(gè)時(shí)候我們的系統(tǒng)變量里有兩個(gè)指向jdk路徑的變量, 一個(gè)是java_home,一個(gè)是pentaho_java_home, 感覺(jué)這是為了解決kettle需要的jdk與當(dāng)前系統(tǒng)中的jdk不一樣的辦法.
5, 我遇到的錯(cuò)誤與排查思路
? ? 運(yùn)行Spoon.bat的時(shí)候, 彈出cmd終端窗口, 直接閃退.
? ? 遇到這個(gè)問(wèn)題真的是把我給難住了, 一點(diǎn)沒(méi)有錯(cuò)誤信息, 沒(méi)有排查問(wèn)題的切入點(diǎn),?
思考 :
? ? .bat文件應(yīng)該是一個(gè)腳本語(yǔ)言, 它調(diào)用其他的文件才能啟動(dòng)kettle, 它彈出cmd后沒(méi)有報(bào)錯(cuò)而是退出了, 應(yīng)該是運(yùn)行的沒(méi)有問(wèn)題, 下面它應(yīng)該啟動(dòng)kettle了, 但是沒(méi)有動(dòng)靜, 這就可能是它調(diào)用其他文件的時(shí)候, 其他文件損壞了或者丟失了. 我們重新安裝一下這個(gè)軟件可以排除這個(gè)問(wèn)題.
? ? 我最開(kāi)始覺(jué)得解壓后的kettle有問(wèn)題, 把kettle刪了, 再刪的時(shí)候等不及又往桌面解壓kettle...雖然沒(méi)有提示, 但是肯定是這刪了點(diǎn)什么文件...后來(lái)又重新裝了一遍才解決.
? ? 解決這種問(wèn)題的時(shí)候只能靠自己, 千萬(wàn)不能慌, 要穩(wěn)定心態(tài), 思考啟動(dòng)的流程, 是哪個(gè)流程出現(xiàn)了錯(cuò)誤, 這樣才能解決問(wèn)題, 不然會(huì)卡很久, 嚴(yán)重降低工作效率. 心態(tài)不好的時(shí)候, 可以稍微歇5分鐘, 計(jì)算機(jī)這種東西, 說(shuō)不定重啟都能解決bug, 透透氣, 換個(gè)角度看