部署 Data Connect

在組織中部署 Data Connect 之前,請先驗證是否已滿足先決條件:

步驟 1:設定叢集

驗證以下連線與存取:

  • Data Connect 基礎結構、叢集和容器需要對編排提供者服務(上圖中的#2)和 Tableau Cloud(僅限出站,#5)進行網路存取。

  • Data Connect 基礎結構、叢集、容器和代理程式需要透過網路存取您的資料庫 (#6)。

參看網路規格

部署與設定

在組織中要執行 Kubernetes 叢集的每台電腦中執行此程序。

  1. 驗證您的從屬磁碟區是否未格式化。在 Linux 節點上執行以下命令:

    lsblk -f

    下圖顯示了叢集節點上的額外磁碟區 nvme1n1 未格式化且 FSTYPE 為空白的範例:

  2. 在 Data Connect 索引標簽上的「集區」下,按一下「新增集區」。在「新增集區」視窗中,輸入集區名稱,然後按一下「建立」

  3. 在 Data Connect 索引標簽上的「叢集和節點」下,按一下「新增叢集」。在「新增叢集」視窗中,輸入叢集名稱,然後按一下「建立」

  4. 在剛剛建立的叢集上,按一下「動作」欄,然後按一下「新增節點」。在「新增節點」視窗中,按一下「下載檔案」

    Cluster.tar 檔案將下載到 Downloads 資料夾。該檔案包含您將在節點上執行的啟動程序指令碼。

  5. 將 cluster.tar 檔案複製到您的電腦上。以下範例示範了如何複製 tar 檔案、擷取檔案、將指令碼變更為可執行檔案,然後執行指令碼。該範例在 AWS 內容中進行示範。變更您的環境的檔案路徑。

    以 root 或 sudo 使用者身分執行以下命令,將 <key-name><IP-address> 取代為您的值:

    > scp -i <key-name>.pem /Downloads/cluster.tar ec2-user@ip-<IP-address>.us-west-2compute.internal:~/

    > ssh -i <key-name>.pem ex2-user@ip-<IP-address>.us-west-2compute.internal

    > tar -xvf clustertar.tar

    > chmod +x onboard_node.sh preflight_check.sh

    > ./onboard_node.sh

    成功執行指令碼後,會在終端視窗中看到 Successfully performed all operations,且 Tableau 團隊將開始佈建流程。

    若遇到錯誤,請驗證部署是否符合 規劃 Data Connect 部署中所述的最低硬體要求和網路規格。

  6. 在站台的 Data Connect 索引標簽上,找到在步驟 2 中建立的集區。在「動作」欄下,按一下「指派叢集」,然後選取在步驟 3 中建立的叢集。

  7. 按一下叢集上的 V 形 (⌄) 可查看主機名稱和可用動作。若未顯示此資訊,可能需要重新載入頁面。確認主機名稱是目標節點後,按一下「接受節點」,然後按一下「確認」

    叢集節點將轉換為「佈建」狀態。佈建節點可能需要一個小時或更長時間。

  8. 節點上的狀態變更為「可用」時,瀏覽至向其指派叢集的集區並按一下動作按鈕 (...),然後按一下「重新整理權杖」。驗證您正在重新整理正確集區的權杖,然後按一下「確認」

  9. 等待權杖重新整理完成。完成後,集區狀態會設定為「可用」。瀏覽回叢集並按一下 V 形 (⌄),以摺疊叢集名稱區段。按一下叢集的動作按鈕 (...),然後按一下取得容器登錄資訊

    • 若您在嘗試此步驟時收到錯誤,則表示登錄尚未部署,且佈建流程可能仍在完成中。請等待幾分鐘,然後再試一次。
    • 顯示登錄資訊(伺服器名稱、使用者名稱和密碼)時,請複製該資訊以進行下一步。

步驟 2:建立基礎映像並發佈

在此步驟中,您將使用所需的驅動程式建立基礎映像,然後將映像發佈到 Docker 容器登錄。開始之前:

  • 請驗證您是否擁有上一個步驟中的 Docker 容器登錄資訊。

  • 每個集區都可以有自己唯一的基礎映像和驅動程式集。

  • 如果要使用 TDC 檔案連線,則需在您的基礎映像中包含此檔案。系統使用者, tableau,必須具有對此檔案的讀取權限。有關如何建立和儲存此檔案的詳細資訊,請參閱 Tableau Desktop 說明主題 自訂與調整連線(連結在新視窗開啟)

建置容器

以下程序顯示了 RHEL 發行版上的範例。可能需要安裝套件管理器工具或其他特定於發行版的工具。

  1. 登入 Kubernetes 叢集中的任意節點。依需求安裝 Docker 及支援工具:

    #RedHat
    sudo dnf install -y container-tools podman-docker
    #Ubuntu
    sudo apt-get update -y
    sudo apt-get install -y docker.io
  2. 建立 Dockerfile:

    touch Dockerfile
  3. 更新 Dockerfile,以包含支援連線的驅動程式。此 Dockerfile 中指定的命令會在基礎映像的建置期間執行。例如:

    # example base 
    FROM registry.access.redhat.com/ubi8
    RUN yum -y update
    WORKDIR /
    # Go to https://tableau.com/support/drivers
    # Follow the instructions to install your drivers for linux
    CMD [“/bin/bash”]

    驅動程式檔案的目標目錄會有所不同。有關更多詳細資訊,請參閱 Tableau 驅動程式下載(連結在新視窗開啟)

    附註:Data Connect 支援具有 Linux 驅動程式且標示為「可透過 Bridge 與 Tableau Cloud 搭配使用」的 Exchange 連接器。有關詳細資訊,請參閱 Tableau Exchange 連接器(連結在新視窗開啟)

    公共 JDBC 驅動程式的 Dockerfile 行範例,使用 curl 命令下載驅動程式:

    RUN mkdir -p /opt/tableau/tableau_driver/jdbc
    RUN curl --location --output /opt/tableau/tableau_driver/jdbc/<file> <URL>
    				

    非公共 JDBC 驅動程式的 Dockerfile 行範例,使用 copy 命令:

    RUN mkdir -p /opt/tableau/tableau_driver/jdbc
    COPY  <file> /opt/tableau/tableau_driver/jdbc

    taco 驅動程式的 Dockerfile 行範例,使用 copy 命令:

    RUN mkdir -p /home/tableau/Documents/My_Tableau_Bridge_Repository/Connectors
    COPY  <file> /home/tableau/Documents/My_Tableau_Bridge_Repository/Connectors
  4. 仍登入 Kubernetes 叢集節點時,請使用集區 ID 的值設定變數 POOL_ID。若要顯示集區 ID 值,請開啟 Data Connect 索引標籤,並按一下集區名稱。

    • 將複製的登錄值設定為對應的值。

      REGISTRY_HOSTNAME=registry_host_name_you_copied
      REGISTRY_USERNAME=registry_user_name_you_copied
      REGISTRY_PASSWORD=registry_password_you_copied
    • 設定集區 ID 值:

      POOL_ID=<pool_id_value>
  5. 建立將用作基礎映像的容器。

    docker build -f <path_to_dockerfile> -t $REGISTRY_HOSTNAME/bridge-base:$POOL_ID .
  6. 登入現有的 Kubernetes 節點,並將映像推送到本機容器登錄。

    docker login --username $REGISTRY_USERNAME $REGISTRY_HOSTNAME
    docker push $REGISTRY_HOSTNAME/bridge-base:$POOL_ID
  7. 在正在設定的集區下,按一下動作按鈕 (...),然後按一下重新整理基礎映像。此動作會使用基礎映像啟動部署,可能需要 10 分鐘。

    附註:每當建立並重新整理新的基礎映像時,都會建立一個新的部署。用於先前基礎映像的 Bridge 代理程式會作為未指派的資產持續存在。請勿刪除未指派的 Bridge 代理程式。

步驟 3:將網域對應到集區

在允許清單中指定的網域名稱是用於資料來源連線的伺服器名稱。

  1. 在 Data Connect 索引標簽上的集區和私人網路允許清單區段下,選取您已指派的集區,然後按一下「動作」欄中的新增網域

  2. 在「網域」文字方塊中,使用允許清單登錄規則中所述的資訊輸入網域的 URI。指定的網域 URI 的範圍僅限於正在設定的集區。

  3. 在網域權限下,確認已選取「允許」選項按鈕。

  4. 完成後,請按一下「儲存」

連線失敗疑難排解

必須設定網路基礎結構,以便資料連線可以到達想要連線的所有必要資料來源。若要驗證 Data Connect 是否可以存取資料來源,請從將執行 Data Connect 的節點執行下列 curl 命令:

$ curl -v $DB_HOSTNAME:$DB_PORT

如果已成功設定連線,您應該會看到一組回應。這裡顯示一些範例:

  • Host $DB_HOSTNAME:$DB_PORT was resolved:確認 DNS 伺服器成功解析主機名稱。

  • Connected to $DB_HOSTNAME:確認節點有網路連線。

  • Empty reply from server. Closing connection:這是預期的,因為 curl 不是資料庫用戶端。

  • Could not resolve host: $DB_HOSTNAME:DNS 解析有問題。

  • Trying $DB_IP_ADDRESS:$DB_PORT:當此訊息後出現當機結果時,表示有網路問題。

如果使用第三方作為資料連線基礎結構,請確保網路邏輯不會被第三方中斷。

(可選)步驟 4:跨站台共用叢集

預設情況下,Data Connect 叢集及其對應的節點僅供最初建立它們的站台使用。但 Data Connect 叢集可以在 Tableau Cloud Manager 租用戶內的所有站台之間共用。共用叢集可讓租用戶內不同站台上的查詢使用相同的節點基礎結構。

為確保跨站台的資料隱私權,共用叢集的任何資料都不可供租用戶上的任何其他站台使用。

附註:共用叢集是一項永久性作業。若要取消共用叢集,必須移除並重新安裝叢集。

叢集僅在建立它們的原始站台上成功接受後才能共用。

若要共用 Data Connect 叢集:

  • 瀏覽至想要共用的叢集,按一下動作省略號 (...),然後按一下共用

共用叢集後,租用戶內其他站台上的站台管理員將能夠將該叢集與他們在其站台中建立的任何集區一起使用。

(可選)步驟 5:以叢集接收者身分在共用叢集上建立集區

以接收者身分在共用叢集上建立集區之前,請先驗證以下內容:

  • 共用叢集與站台使用的資料庫具有網路連線

  • 站台中的資料庫所需的所有資料庫驅動程式都必須安裝在叢集上

要以叢集接收者身分開始使用共用叢集,需要與叢集擁有者進行通訊,以將集區的基礎映像新增至叢集:

  1. 在 Data Connect 索引標簽上的「集區」下,按一下「新增集區」

  2. 在「新增集區」視窗中,輸入集區名稱,然後按一下「建立」

  3. 在新集區中,按一下「指派叢集」,選取共用叢集,按一下動作省略號 (...),然後按一下「重新整理權杖」

  4. 驗證您正在重新整理正確集區的權杖,然後按一下「確認」

  5. 集區狀態設定為可用時,複製集區的 Pool_ID。若要顯示 Pool_ID 值,請按一下集區名稱。

  6. 為站台新增基礎映像。請參閱上面的步驟 2:建立基礎映像並發佈

    具有叢集存取權的管理員將需要使用 Pool_ID 值建立一個新容器,作為新增基礎映像的一部分。還需要最初建立叢集的站台上的登錄值,這些值可以由叢集擁有者提供。

  7. 將基礎映像發佈到本機容器登錄後,瀏覽至共用站台上的集區,然後按一下「重新整理基礎映像」

  8. 要完成設定,請參閱上面的步驟 3:將網域對應到集區

從現有叢集中新增節點

  1. 瀏覽到叢集並按一下新增節點

  2. 請遵循上述程序中的步驟 4、5、7、8、9,步驟 1:設定叢集。省略步驟 6,因為您不需要指派叢集。

  3. 重新整理權杖步驟完成後,請前往與叢集關聯的集區,然後按一下重新整理基礎映像

附註:建立並重新整理新的基礎映像時,會建立一個新的部署。用於先前基礎映像的 Bridge 用戶端會作為未指派的資產持續存在。請勿刪除未指派的 Bridge 用戶端。

從現有叢集中移除節點

從叢集中移除節點後,Tableau Cloud 將無法再存取 Bridge 用戶端。刪除節點時在 Data Connect 上執行的任何作業都會失敗。但是,不會有任何其他作業被路由到這些 Bridge 用戶端。

若要移除節點,請瀏覽至叢集,按一下動作省略號 (...),然後選取刪除

更新現有集區的基礎映像

若您決定使用新的資料庫或更新 Data Connect 叢集將使用的驅動程式,則可以變更現有的基礎映像,以適應這些變更。為此,請按照步驟 2:建立基礎映像並發佈中所述,使用變更來更新容器檔案。更新容器檔案後,按一下重新整理基礎鏡像。在新的基礎映像成功部署之前,將使用您先前的基礎映像。

資料庫連線疑難排解

首先驗證網域是否遵守允許清單登錄規則。請參閱設定集區

接下來,確認已設定網路基礎結構,以便 Data Connect 可以存取您想要連線的所有必要資料來源。若要驗證 Data Connect 是否可以存取資料來源,請從將執行 Data Connect 的節點執行下列 curl 命令:

$ curl -v $DB_HOSTNAME:$DB_PORT

如果已成功設定連線,您應該會看到一組回應。這裡顯示一些範例:

  • Host $DB_HOSTNAME:$DB_PORT was resolved:確認 DNS 伺服器成功解析主機名稱。

  • Connected to $DB_HOSTNAME:確認節點有網路連線。

  • Empty reply from server. Closing connection:預期回應,因為 curl 不是資料庫用戶端。

  • Could not resolve host: $DB_HOSTNAME:DNS 解析有問題。

  • Trying $DB_IP_ADDRESS:$DB_PORT:此訊息後出現暫懸結果時,表示有網路問題。

如果使用第三方作為資料連線基礎結構,請確保網路邏輯不會被第三方中斷。