2014-10-17 110 views
1

我正在使用keytab文件繞過kerberos以通過oozie運行一個shell腳本。 Shell腳本包含hbase shell命令,因此我需要在運行hbase shell命令之前執行kinit。這對我來說工作正常。使用密鑰表提交oozie作業

因此,在我使用協調器啓動作業並在工作流中使用keytab(服務帳戶)使用多個shell腳本的情況下oozie中會有衝突嗎?由於我使用oozie協調器啓動作業,服務帳戶工作流程中的密鑰表文件。

謝謝,

回答

1

keytab文件需要存在於所有hadoop數據節點上。當作爲oozie作業/映射任務運行以執行服務帳戶的kinit時,您的shell腳本需要它們。

將keytab文件部署到共享羣集的數據節點時,最好正確設置文件權限,以便其他hadoop作業無法訪問它。

+0

我正在通過選項向分佈式緩存添加keytab解決此問題。請讓我知道這是否正確。 – VishAmdi 2014-11-04 18:25:04

+0

我認爲使用分佈式緩存將密鑰表文件推送到作業是很好的選擇。在數據節點中配置keytab文件後,該文件便可供該羣集上運行的所有作業使用。使用分佈式緩存,這是特定的工作。每個工作都需要添加這個文件屬性。兩者都適用於不同的場景。 :) – 2014-11-04 22:43:34

+0

你能提供一個如何使用分佈式緩存來做它的例子嗎?我在HDFS中使用過它,並試圖將它從HDFS複製到本地,並用它來生成票據。但它正在拋出CONN_KERBEROS_AUTHENTICATION_ERROR_GET_TICKETCACHE異常。 – Atom 2015-08-05 03:21:46