30日間の無料評価版をお試しいただけます。

概要

今回の手順では、2ノードのYellowfin クラスタを作成し、各ノードに6GBのRAMを割り当て、TraefikがDNSホスト名またはIPアドレスの80ポート (標準的なHTTPポート) からのリクエストをYellowfinインスタンスに転送します。

TraefikをフロントにしてYellowfinを導入する場合、YellowfinのKubernetes サービスは、Kubernetesの「ClusterIP」サービスタイプがデフォルトとなるため、Kubernetes クラスタの外部インターフェイスにポートを公開しません。

これらのデフォルトを使用してYellowfin クラスタを導入する前に、リポジトリデータベースを作成し、Yellowfin コンテナで使用するのと同じバージョンのYellowfinと同期していることを確認してください。これを実行するには、Yellowfinのフルアプリケーションインストーラーをダウンロードし、ワークステーションにインストールします。これにより、フォルダー内にYellowfin リポジトリデータベースおよびYellowfin インスタンスが作成されます。これらは、コンテナの設定後に削除することができます。

サポートされているデータベースのタイプを確認するには、Yellowfinのインストールおよび導入ページでデータベース情報を参照してください。

Yellowfin クラスタを導入するには、次の手順に従います。

  1. ワークステーションに、Yellowfinのフルアプリケーションインストーラーバージョンをインストールします (これは、コンテナがリポジトリデータベースを使用できるようにするための一時的なものです)。

  2. このインストールからweb.xml ファイルをコピーし、バックアップとして任意の場所に保存します (これは、Yellowfin リポジトリデータベースに接続するために必要なYellowfin 認証情報の参照として機能します)。

  3. Kubernetesが実行され、Traefikがインストールされていることを確認します。

  4. 次のテキストをコピーし、任意のテキストエディターに貼り付けます。

    --- 
    ### Yellowfin Cluster Service ### 
    apiVersion: v1 
    kind: Service 
    metadata: 
      name: yellowfin-cluster
     
    spec: 
      ports: 
        - protocol: TCP 
          name: web 
          port: 8080 
      selector: 
        app: yellowfin-cluster 
    --- 
    ### Yellowfin Cluster Deployment ### 
    kind: Deployment 
    apiVersion: apps/v1 
    metadata: 
      namespace: default 
      name: yellowfin-cluster 
      labels: 
        app: yellowfin-cluster 
     
    spec: 
      replicas: 2 
      selector: 
        matchLabels: 
          app: yellowfin-cluster 
      template: 
        metadata: 
          labels: 
            app: yellowfin-cluster 
        spec: 
          containers: 
            - env: 
              - name: APP_MEMORY 
                value: "6144" 
              - name: CLUSTER_PORT 
                value: "7800" 
              - name: JDBC_CLASS_NAME 
                value: INSERT_DATABASE_TYPE_HERE 
              - name: JDBC_CONN_ENCRYPTED 
                value: "true" 
              - name: JDBC_CONN_PASS 
                value: INSERT_JDBC_PASSWORD_HERE 
              - name: JDBC_CONN_URL 
                value: jdbc:INSERT_JDBC_CONNECTION_STRING_HERE 
              - name: JDBC_CONN_USER 
                value:INSERT_DATABASE_USER_HERE 
              - name: NODE_BACKGROUND_TASKS 
                value: REPORT_BROADCAST_BROADCASTTASK,REPORT_BROADCAST_MIREPORTTASK,FILTER_CACHE,SOURCE_FILTER_REFRESH,SOURCE_FILTER_UPDATE_REMINDER,THIRD_PARTY_AUTORUN,ORGREF_CODE_REFRESH,ETL_PROCESS_TASK,SIGNALS_DCR_TASK,SIGNALS_ANALYSIS_TASK,SIGNALS_CLEANUP_TASK,COMPOSITE_VIEW_REFRESH,SIGNALS_CORRELATION_TASK 
              - name: NODE_PARALLEL_TASKS 
                value: 4,4,4,4,4,4,4,4,4,4,4,4,4 
              name: yellowfin-cluster 
              image: yellowfinbi/yellowfin-app-only:<RELEASE_VERSION_GOES_HERE> 
              ports: 
                - name: web 
                  containerPort: 8080 
     
    --- 
    ### Yellowfin Cluster Ingress ### 
    apiVersion: traefik.containo.us/v1alpha1 
    kind: IngressRoute 
    metadata: 
      name: yellowfiningressroute 
      namespace: default 
    spec: 
      entryPoints: 
        - webs 
      routes: 
      - match: Host(`INSERT_DNS_HOSTNAME`) 
        kind: Rule 
        services: 
        - name: yellowfin-cluster 
          port: 8080 
          sticky: 
            cookie: 
              httpOnly: true 
              name: stickyCookie
  5. 上記テキストを確認し、データベース接続設定を独自の設定詳細に置き換えます (これらは、Yellowfin インストールのweb.xml ファイルにあります)。

  6. 上記テキストで、INSERT_DNS_HOSTNAMEを、Traefikがリッスンするための独自のDNS名 (またはIPアドレス) に置き換えて、リクエストをYellowfin インスタンスにルーティングします。以下の例では、DNS名の例を追加しました。

    ### Yellowfin Cluster Ingress ### 
    apiVersion: traefik.containo.us/v1alpha1 
    kind: IngressRoute 
    metadata: 
      name: yellowfiningressroute 
      namespace: default 
    spec: 
      entryPoints: 
        - webs 
      routes: 
      - match: Host(`yellowfin.example.com`) 
        kind: Rule 
        services: 
        - name: yellowfin-cluster 
          port: 8080 
          sticky: 
            cookie: 
              httpOnly: true 
              name: stickyCookie


  7. テキストをyellowfin-cluster.ymlと呼ばれるYAML ファイルに保存します。

  8. Yellowfinを導入するためにターミナルから次のコマンドを実行し、バックグラウンドで実行します。 
    Kubectl apply –f yellowfin-cluster.yml

  9. ホストURLを入力し、Yellowfinを起動します。

  10. Yellowfinがコンテナから実行されていること、およびログインできることを確認します (これにより、ログイン認証情報が正しいことが確認されるので、Yellowfinのワークステーションインスタンスを安全に削除することができます)。

  11. フォルダーを削除して、Yellowfinのワークステーションインスタンスを削除します。


AWS EKSを使用している場合や、Yellowfinインスタンスのクラスタリングに問題がある場合は、以下の環境変数CLUSTER_INTERFACEと値をKubernetesデプロイメントファイルのコンテナセクションにマージしてください。

containers:
    -env
        name: CLUSTER_INTERFACE
        value: "match-interface:eth1"





項目ナビゲーション

現在のトピック - コンテナ環境へのインストール

本ページはコンテナ環境へのインストール項目の一部であり、DockerおよびKubernetesそれぞれの項目には、以下のページが含まれます。

Docker

Kubernetes


本ページはYellowfinのインストールおよび導入項目の一部であり、以下のトピックを含みます。

オンプレミス環境へのインストール

オンプレミス環境へのインストール

クラウド環境へのインストール

クラウド環境へのインストール

コンテナ環境へのインストール

コンテナ環境へのインストール

Yellowfinの導入

Yellowfinの導入

高度な導入

高度な導入