天天看點

Impala配置Kerberos認證1. 環境說明2. 安裝必須的依賴3. 生成 keytab4. 修改 impala 配置檔案5. 啟動服務6. 測試7. 排錯

關于 kerberos 的安裝和 hdfs 配置 kerberos 認證,請參考 hdfs配置kerberos認證。

關于 kerberos 的安裝和 yarn 配置 kerberos 認證,請參考 yarn配置kerberos認證。

關于 kerberos 的安裝和 hive 配置 kerberos 認證,請參考 hive配置kerberos認證。

系統環境:

作業系統:centos 6.6

hadoop版本:<code>cdh5.4</code>

jdk版本:<code>1.7.0_71</code>

運作使用者:root

叢集各節點角色規劃為:

cdh1作為master節點,其他節點作為slave節點,hostname 請使用小寫,要不然在內建 kerberos 時會出現一些錯誤。

在每個節點上運作下面的指令:

在 cdh1 節點,即 kdc server 節點上執行下面指令:

合并 proxy.keytab 和 impala-unmerge.keytab 生成 impala.keytab:

拷貝 impala.keytab 和 proxy_impala.keytab 檔案到其他節點的 /etc/impala/conf 目錄

并設定權限,分别在 cdh1、cdh2、cdh3 上執行:

由于 keytab 相當于有了永久憑證,不需要提供密碼(如果修改 kdc 中的 principal 的密碼,則該 keytab 就會失效),是以其他使用者如果對該檔案有讀權限,就可以冒充 keytab 中指定的使用者身份通路 hadoop,是以 keytab 檔案需要確定隻對 owner 有讀權限(0400)

修改 cdh1 節點上的 /etc/default/impala,在 <code>impala_catalog_args</code> 、<code>impala_server_args</code> 和 <code>impala_state_store_args</code> 中添加下面參數:

在 <code>impala_catalog_args</code> 中添加:

将修改的上面檔案同步到其他節點。最後,/etc/default/impala 檔案如下,這裡,為了避免 hostname 存在大寫的情況,使用 <code>hostname</code> 變量替換 <code>_host</code>:

将修改的上面檔案同步到其他節點:cdh2、cdh3:

更新 impala 配置檔案下的檔案并同步到其他節點:

impala-state-store 是通過 impala 使用者啟動的,故在 cdh1 上先擷取 impala 使用者的 ticket 再啟動服務:

然後檢視日志,确認是否啟動成功。

impala-catalog 是通過 impala 使用者啟動的,故在 cdh1 上先擷取 impala 使用者的 ticket 再啟動服務:

impala-server 是通過 impala 使用者啟動的,故在 cdh1 上先擷取 impala 使用者的 ticket 再啟動服務:

在啟用了 kerberos 之後,運作 impala-shell 時,需要添加 <code>-k</code> 參數:

如果出現下面異常:

則需要在 hive-site.xml 中将 <code>hive.metastore.client.socket.timeout</code> 值設定大一些: