昨晚裝好了oozie,能啟動了,并且配置了mysql作為資料庫,好了,今天要執行oozie自帶的demo了,好家夥,一執行就報錯!報錯很多,就不一一列舉了,就說我最後解決的方法吧。
這句話需要在oozie的目錄裡面執行,然後在網上查了很多資料,最後搞定了,需要修改三個配置檔案。
在說修改配置檔案之前,還漏了一些東西,先補上,首先我們需要解壓目錄下面的oozie-examples.tar.gz,oozie-client-3.3.2.tar.gz,
oozie-sharelib-3.3.2.tar.gz,然後把examples和share目錄上傳到fs上面去。
然後在/etc/profile配置oozie-client的環境變量。
接下來說怎麼解決的oozie的吧。
<b>1.修改oozie的conf目錄下的oozie-site.xml</b>
增加以下内容:
<b>2.修改oozie-env.sh,增加以下内容</b>
<b>3.修改所有節點的hadoop的配置檔案core-site.xml</b>
然後重新開機就可以執行了,裡面的cenyuhai是我的本機賬号。
補充:在進行完上述配置之後,作業可以送出了,但是送出了mr作業之後,在web頁面中檢視,遇到了一個錯誤:
這個問題排查了很久,都沒有得到解決 ,最後通過修改job.properties,把jobtracker從localhost:9001改成下面的全稱才行,這個可能跟我的hadoop的jobtracker設定有關,是以遇到有這方面問題的童鞋可以試試。
接下來我們接着運作hive的demo,運作之前記得修改hive的demo的job.properties,改為上面寫的那樣。
然後送出,送出成功了,但是在web頁面上檢視狀态為killed,被幹掉了。。。
錯誤代碼:ja018,錯誤消息:org/apache/hadoop/hive/cli/clidriver
然後我就想着可能是jar包的問題,删掉share目錄下的hive目錄裡的所有jar包,然後把自己機器上的hive的所有jar包複制到該目錄下。
然後上傳到共享目錄上:
再次送出,就可以檢視到成功的狀态啦!
但是這個坑爹的玩意兒,其實是把資料插入到了derby中。。。無語了,雖然現實成功了,但是沒有用。。。因為我們配置了外置的mysql資料庫,那怎麼辦呢?
需要修改workflow.xml,把其中的configuration的配置節改成下面的樣子。
然後送出之後,在hive中就可以查詢到你所建立的表啦,oh,yeah!