天天看點

Linux下Tableau server連接配接Kerberos認證的CDH Impala/hive背景說明:

背景說明:

我們正在使用tableau來進行資料可視化,其中一個比較重要的資料源就是kerberos 認證的impala/hive;經過測試,tableau的desktop可以正常連接配接impala,但是釋出到server的impala連接配接會報錯,連接配接不上,圖表無法顯示;而且我們的server是linux的。

查閱多方,終于處理掉這個問題,總結一下,供參考。

第一步:

參考https://www.tableau.com/zh-cn/support/drivers,選擇impala對應的驅動下載下傳并安裝,安裝好後,對應的兩處配置也是必須的。

注意:配置項copy進去是不換行的,記得手動換行。如:

[Cloudera ODBC Driver for Impala 64-bit]

Description=Cloudera ODBC Driver for Impala (64-bit)

Driver=/opt/cloudera/impalaodbc/lib/64/libclouderaimpalaodbc64.so

FileUsage = 1

第二步:

參考https://help.tableau.com/current/server-linux/zh-cn/kerberos_runas_linux.htm,前面一大段都是将如何生成keytab,但是一般大資料平台keytab都是能輕松生成的,是以關鍵要執行的指令有:

# 建立存放keytab檔案的目錄

mkdir /opt/tableau/tableau_server/keytab

#将keytab檔案放到該目錄

sudo cp -p etl.keytab /opt/tableau/tableau_server/keytab

#變更這個keytab的所有者為tabadmin

sudo chown tabadmin /opt/tableau/tableau_server/keytab/etl.keytab

#變更這個keytab的所有使用者組為tableau,目的是為了讓tableau使用者組的使用者都有讀權限

chgrp tableau /opt/tableau/tableau_server/keytab/etl.keytab

#給tableau分組賦予讀權限

chmod g+r /opt/tableau/tableau_server/keytab/etl.keytab

#以下為将前面的配置更改到tableau server

tsm configuration set -k features.RunAsAuthLinux -v true --force-keys

tsm configuration set -k native_api.datasource_runas_principal -v [email protected] --force-keys

tsm configuration set -k native_api.datasource_runas_keytab_path -v /opt/tableau/tableau_server/keytab/etl.keytab --force-keys  

#這一步要特别注意,這是應用前面更新的配置内容,會重新開機伺服器,找個好時間

tsm pending-changes apply

第三步:

這一步尤其重要,目的是為了能夠進行kinit指令,指令的具體含義請百度檢視,步驟如下:

  1. 配置節點的hosts檔案,将cdh叢集的主機都加入到這個檔案;
  2. 配置/etc/krb5.conf檔案,這個可以直接從叢集的節點拷貝過來;
  3. 執行:sudo yum install krb5-workstation krb5-libs,安裝kerberos用戶端,安裝好後就能kinit。
  4. 接下來就能進行kinit指令了,結合我們之前進行的操作,也會應用到tableau server,對應的server上的kerberos認證的impala連接配接也能正常通路了。

說明:

可能有備援步驟;

這三部分我認為是不可少的,對于其他的需要從server連接配接kerberos認證進行連接配接的,理論也都需要這些步驟。不局限于cdh,更不局限于impala。

繼續閱讀