Tableau Server の自動インストール

コミュニティでサポートされている(新しいウィンドウでリンクが開く) Python スクリプトである SilentInstaller.py を使用し、Tableau Server の新規インストールを自動化できます。このスクリプトは、ダウンロードして記述どおりに使用することも、ニーズに合わせて編集することもできます。

自動インストーラー使用の利点

  • 単一のコマンドで、インストール、構成、作業中の Tableau Server のインスタンスの実行を行うことができます。

  • SilentInstaller.py スクリプトは、ユーザーが入力しなくても自動化に適合するように実行することができます。

  • 構成は一度設定すると全てのインストールに使用することができる、繰り返しに適したプロセスです。

自動インストーラーを使用しない場合

  • 初めて Tableau Server をインストールする場合は、プロセスを自動化する前に、インストールを手動でテストすることを推奨します。インストールを妨げる何らかの問題がある場合は、インタラクティブに解決する方が簡単です。それらの問題を解決したら、SilentInstaller.py スクリプトを使用して Tableau Server の自動インストールを実行できます。

  • 認証方法など、新しい構成パラメーターを試す場合は、最初に手動でインストールを実行することを推奨します。Tableau Services Manager (TSM) は構成エンティティを検証し、無効な構成パラメーターを拒否します。正しいパラメーターを識別したら、自動インストーラーを使用できます。

  • シークレット ファイルにパスワードを入力できない、または入力したくない場合は、自動インストーラーは使用できないかもしれません。

はじめる前に

インストールの前に...を読んで、オペレーティング システム要件および Tableau Server の最小ハードウェア要件を満たすコンピューターに Microsoft Windows Server をインストールしたことを確認します。

注: 本番環境に Tableau Server をインストールする場合、最小ハードウェア推奨事項を確認してください。推奨事項は、Tableau Server の製品インストールに使う最小ハードウェア構成を示しています。

自動インストールを実行するには、Tableau Server インストール パッケージを入力として使用している SilentInstaller.py スクリプトを使用します。開始前に、以下のパッケージをダウンロードすることをお勧めします。

  1. Python 3.5(新しいウィンドウでリンクが開く) 以降をダウンロードし、Tableau Server のインストール先であるコンピューターにインストールします。

  2. SilentInstaller.py スクリプトと Tableau Server インストーラー パッケージをダウンロードします。

    1. GitHub(新しいウィンドウでリンクが開く) より SilentInstaller.py を、 config.template.json、registration.template.json、secrets.template.json、および 3 種類の bootstrap テンプレート (bootstrap.template.json、topologyBootstrap.template.json、workerBootstrap.template.json) と共にダウンロードします。

    2. 適切な Tableau Server インストーラー パッケージを Tableau Server 製品のダウンロード(新しいウィンドウでリンクが開く) ページから選択してダウンロードします。選択するパッケージは、使用する Microsoft Windows Server のバージョンにより異なります。

  3. Tableau Server のインストール先でコンピューターからアクセスできる場所にパッケージとテンプレートをコピーします。

SilentInstaller.py スクリプトの使用方法

SilentInstaller.py スクリプトは、Tableau Server インストーラー パッケージのインストール、ディレクトリの作成、Tableau Server の実行に必要なパーミッションの設定、Tableau Services Manager (TSM) セットアップの起動を行います。TSM セットアップが完了すると、SilentInstaller.py スクリプトは tsm コマンドを実行し、Tableau Server のインストール、構成、および起動を行います。既定では、SilentInstaller.py スクリプトはインストールの際に試用版をライセンス認証します。実際のプロダクト キーがある場合は、コマンド ラインにプロダクト キーを指定したり、SilentInstaller.py スクリプトの実行後にプロダクト キーをライセンス認証したりできます。自動インストーラーに含まれるコマンド ライン オプションの大半は、tsm initialize コマンドで使用されるオプションと同じです。

SilentInstaller.py スクリプトは次の 3 つの方法で実行できます。最初のノードのインストール、追加ノードのインストール、クラスタ トポロジの更新です。分散クラスタでインストールを実行している場合、最初のノードを最初のノードにインストールするオプションを使用して SilentInstaller.py を実行します。追加ノードを各追加ノードにインストールするオプションを使用して SilentInstaller.py を実行します。最後に、最初のノードのクラスタ トポロジを更新するオプションを使用して SilentInstaller.py を実行します。

SilentInstaller.py スクリプトはユーザーが操作しなくても実行されるため、SilentInstaller.py スクリプトに渡される必要な引数にすべてのパラメーターを入力する必要があります。または、必要な引数を bootstrap ファイルに入れることもできます。提供されている構成、登録、およびシークレット ファイルのテンプレートを使用できます。

無人インストールを実行するには、以下の手順を行います。

ステップ 1:自動インストーラーをインストールする

  1. 管理者アクセス権を所有するユーザーとしてコンピューターにログオンします。

  2. SilentInstaller.py スクリプト、テンプレート、bootstrap ファイルをダウンロードしてインストールします。

ステップ 2: 自動インストールの実行に必要な追加構成情報を提供するファイルの作成

SilentInstaller.py スクリプトはユーザーが操作しなくても実行されるため、次の追加情報を提供する必要があります。

  1. テンプレートである、config.template.jsonregistration.template.json、および secrets.template.json をホーム ディレクトリのような別のディレクトリにコピーします。テンプレート ファイルを直接編集することは推奨しません。

  2. config.template.json ファイルを編集し、最初のノードの構成設定を提供します。Tableau Server コンピューターのアイデンティティ ストア設定を提供する必要があります。ネットワーク要件により、ゲートウェイ設定も提供する必要がある場合があります。できるだけ長い間データをキャッシュして再利用するために、キャッシュ オプションを設定します。サンプル ワークブックは、既定でインストールされています。テンプレートには、最小要求情報が含まれており、テンプレートが開始点になります。構成設定の詳細は、初期ノード設定の構成を参照してください。

  3. registration.template.json ファイルを編集し、Tableau Server を登録するために必要な情報を提供します。詳細については、Tableau Server のライセンス認証と登録を参照してください。

  4. secrets.template.json ファイルを編集し、TSM 管理者および Tableau Server 管理者アカウントのユーザー名とパスワードを提供します。

    • TSM 管理者アカウントは、スクリプトを実行している Windows 管理者と同じユーザーである必要があります。

    • Tableau Server 管理者カウントは、インストーラーが作成した初期アカウントで、Tableau Server の管理に使用されます。

ステップ 3:自動インストーラーを実行する

  1. 管理者アクセス権を所有するユーザーとしてコンピューターにログオンします。

    最初のノードをインストールする

    SilentInstaller.py スクリプトは Tableau Services Manager のインストール、ライセンス認証、構成、および起動を行う適切なコマンドを実行します。オプションのリストとその既定値を表示するには、SilentInstaller.py -h および SilentInstaller.py install –h を実行します。

    最初のノードをインストールするには:

    最初のノードの Python プロンプトで以下を入力します。

    SilentInstaller.py install --secretsFile secrets.json --configFile myconfig.json --registrationFile registration.json TableauServer-64bit-<version>.exe

    または、以下を入力します。

    SilentInstaller.py --bootstrapFile <bootstrap file path>

    スクリプトのオプション

    説明

    必須のスイッチ 

    --configFile <file path>

    サーバー構成 JSON ファイルの相対または絶対パス。

    --secretsFile <file path>

    Tableau Services Manager (TSM) を認証する Windows アカウントの認証資格情報を記述するシークレット ファイルの相対または絶対パス、および Tableau Server の初期管理者ユーザーのユーザー名/パスワード。シークレット ファイルには、Tableau Server のライセンス認証に使用するプロダクト キーも含まれます。既定では、シークレット ファイルのテンプレートには試用版ライセンスが含まれます。

    注: シークレット ファイルへのパスワードの提供はオプションです。ただし、シークレット ファイルにパスワードが見つからないと、インストール中に入力を求めるプロンプトが表示されます。

    自動インストーラー パッケージには、シークレット ファイルのテンプレートが含まれます。

    --registrationFile <file path>

    Tableau Server の登録情報を含むサーバー登録ファイルの相対または絶対パス。

    自動インストーラー パッケージには、登録ファイルのテンプレートが含まれます。

    <installer executable file path>

    Tableau Services Manager (TSM) インストーラーの相対または絶対パス。

    オプションのスイッチ 

    --installDir <file path>

    Tableau Server のインストール ディレクトリ。パスを指定しなければ、既定ディレクトリである C:\Program Files\Tableau\Tableau Server が使用されます。

    --dataDir <file path>

    Tableau Server のソフトウェア構成とデータが保存されている場所。パスを指定しなければ、既定ディレクトリである C:\ProgramData\Tableau が構成とデータ ファイルに使用されます。

    --installerLog <file path>

    インストーラーのログ ファイルが書き込まれる既存ディレクトリ。パスを指定しなければ、ログ ファイルは TEMP ディレクトリに書き込まれます。

    --controllerPort <port number>

    Tableau Services Manager (TSM) の コントローラーが実行するポート。

    --coordinationserviceClientPort <port number>

    ZooKeeper クライアント ポート。

    --coordinationservicePeerPort <port number>

    ZooKeeper ピア ポート。

    --coordinationserviceLeaderPort <port number>

    ZooKeeper リーダー ポート。

    --start

    セットアップ完了時にサーバーを起動するかどうか。

    追加のノードをインストールする

    SilentInstaller.py スクリプトは、Tableau Services Manager (TSM) を追加のノードにインストールする適切なコマンドを実行します。オプションのリストとその既定値を表示するには、SilentInstaller.py installWorker –h を実行します。

    追加のノードをインストールするには:

    各追加ノードの Python プロンプトで以下を入力します。

    SilentInstaller.py workerInstall --secretsFile secrets.json --nodeConfigurationFile nodeConfiguration.json TableauServer-64bit-<version>.exe

    オプション

    説明

    --secretsFile <file path>

    必須。Tableau Services Manager (TSM) を認証する Windows アカウントの認証資格情報を記述するシークレット ファイルの相対または絶対パス、および Tableau Server の初期管理者ユーザーのユーザー名/パスワード。シークレット ファイルには、Tableau Server のライセンス認証に使用するプロダクト キーも含まれます。既定では、シークレット ファイルのテンプレートには試用版ライセンスが含まれます。

    注: シークレット ファイルへのパスワードの提供はオプションです。ただし、シークレット ファイルにパスワードが見つからないと、インストール中に入力を求めるプロンプトが表示されます。

    自動インストーラー パッケージには、シークレット ファイルのテンプレートが含まれます。

    --nodeConfigurationFile <file path>

    必須。追加ノードをインストールするためのノード構成ファイルのパス。

    (installer executable) <file path>

    必須。スクリプトの最後の引数は、Tableau Web サイトからダウンロードしたなど通常のチャネルから取得した Tableau Services Manager インストーラー実行ファイルへの絶対パスまたは相対パスです。このスクリプトは Tableau Services Manager での使用のみがサポートされています。

    --installDir <file path>

    オプション。Tableau Server のインストール ディレクトリ。空欄にすると、既定ディレクトリである C:\Program Files\Tableau\Tableau Server が使用されます。

    --dataDir <file path>

    オプション。Tableau Server のソフトウェア構成とデータが保存されている場所。空欄にすると、既定ディレクトリである C:\ProgramData\Tableau が構成ファイルとデータ ファイルに使用されます。

    --installerLog <file path>

    オプション。インストーラーのログ ファイルが書き込まれる既存ディレクトリ。空欄にすると、ログ ファイルはユーザーの TEMP ディレクトリに書き込まれます。

    注: ノード構成ファイルは、SilentInstaller.py を使用して最初のノードをインストールした後に自動的に保存されます。スクリプトの作業ディレクトリの下にあります。

    クラスタ トポロジを更新する

    SilentInstaller.py スクリプトは、Tableau Services Manager (TSM) で必要なクラスタ トポロジを更新する適切なコマンドを実行します。オプションのリストとその既定値を表示するには、SilentInstaller.py updateTopology –h を実行します。

    クラスタ トポロジを更新するには:

    最初のノードの Python プロンプトで以下を入力します。

    SilentInstaller.py updateTopology --secretsFile secrets.json --configFile myconfig.json

    オプション

    説明

    --secretsFile <file path>

    必須。Tableau Services Manager (TSM) を認証する Windows アカウントの認証資格情報を記述するシークレット ファイルの相対または絶対パス、および Tableau Server の初期管理者ユーザーのユーザー名/パスワード。シークレット ファイルには、Tableau Server のライセンス認証に使用するプロダクト キーも含まれます。既定では、シークレット ファイルのテンプレートには試用版ライセンスが含まれます。

    注: シークレット ファイルへのパスワードの提供はオプションです。ただし、シークレット ファイルにパスワードが見つからないと、インストール中に入力を求めるプロンプトが表示されます。

    自動インストーラー パッケージには、シークレット ファイルのテンプレートが含まれます。

    --configFile <file path>

    必須。更新する Tableau Server トポロジを記述するサーバー トポロジ ファイルの相対または絶対パス。ファイルの topologyVersion 部分のみが適用され、他の構成は無視されます。

構成、登録、およびシークレット ファイルのテンプレート

以下のテンプレート例を使用し、データを SilentInstaller.py スクリプトに渡すことができます。

シークレット ファイルのテンプレート例

{
    "local_admin_user":"",
    "local_admin_pass":"",
    "content_admin_user":"",
    "content_admin_pass":"",
    "product_keys":["trial"]
}

local_admin_user は Tableau Services Manager を認証するための Windows アカウントです。

content_admin_user は初期管理ユーザーであり、ユーザーやサイトの作成や管理などに関し、Tableau Server の全機能でスーパーユーザーの役割を果たします。

追加ノードをインストールする場合やクラスタ トポロジを更新する場合、初期管理ユーザーは最初のノードがインストールされたときに作成済みのため、これらの認証資格情報は無視されます。

product_keys は Tableau Services Manager のライセンス認証に使用するキーです。複数のキーが指定されている場合、1 つずつライセンス認証されます。インストール モード以外の場合、ライセンスは既に認証されているため、これらのキーは無視されます。

サーバー構成ファイルのテンプレート例

{
"configEntities":{
    "runAsUser":{
        "_type":"runAsUserType",
        "name":"NT AUTHORITY\\NetworkService"
    },
    "gatewaySettings":{
        "_type":"gatewaySettingsType",
        "port":80,
        "firewallOpeningEnabled":true,
        "sslRedirectEnabled":true,
        "publicHost":"****replace me****",
        "publicPort":80,
        "sslEnabled":false,
        "sslPort":443
    },
    "identityStore":{
        "_type":"identityStoreType",
        "type":"local",
        "domain":"****Domain Name Here****",
        "nickname":"****Domain Nickname Here****"
    }
},
"topologyVersion":{
    "nodes":{
        "****insert nodeId (lowercase) here****": {
            "services": {
                "filestore": {
                    "instances":[
                        {
                        "instanceId":"0"
                        }
                    ]
                },
                "tabadmincontroller": {
                    "instances":[
                        {
                        "instanceId":"0"
                        }
                    ]
                },
                "clientfileservice": {
                    "instances":[
                        {
                        "instanceId":"0"
                        }
                    ]
                },
                "dataserver": {
                    "instances":[
                        {
                        "instanceId":"0"
                        },
                        {
                        "instanceId":"1"
                        }
                    ]
                },
                "cacheserver": {
                    "instances":[
                        {
                        "instanceId":"0"
                        },
                        {
                        "instanceId":"1"
                        }
                    ]
                },
                "vizqlserver": {
                    "instances":[
                        {
                        "instanceId":"0"
                        },
                        {
                        "instanceId":"1"
                        }
                    ]
                },
                "backgrounder": {
                    "instances":[
                        {
                        "instanceId":"0"
                        },
                        {
                        "instanceId":"1"
                        }
                    ]
                },
                "appzookeeper": {
                    "instances":[
                        {
                        "instanceId":"0"
                        }
                    ]
                },
                "pgsql": {
                    "instances":[
                        {
                        "instanceId":"0"
                        }
                    ]
                },
                "dataengine": {
                    "instances":[
                        {
                        "instanceId":"0"
                        }
                    ]
                },
                "licenseservice": {
                    "instances":[
                        {
                        "instanceId":"0"
                        }
                    ]
                },
                "searchserver": {
                    "instances":[
                        {
                        "instanceId":"0"
                        }
                    ]
                },
                "clustercontroller": {
                    "instances":[
                        {
                        "instanceId":"0"
                        }
                    ]
                },
                "tabsvc": {
                    "instances":[
                        {
                        "instanceId":"0"
                        }
                    ]
                },
                "vizportal": {
                    "instances":[
                        {
                        "instanceId":"0"
                        }
                    ]
                },
                "tabadminagent": {
                    "instances":[
                        {
                        "instanceId":"0"
                        }
                    ]
                },
                "clientfileservice": {
                    "instances":[
                        {
                        "instanceId":"0"
                        }
                    ]
                },
                "gateway": {
                    "instances":[
                        {
                        "instanceId":"0"
                        }
                    ]
                }
            }
        }
    }
}
}
			

サーバー登録ファイルのテンプレート例

{
    "first_name" : "Andrew",
    "last_name" : "Smith",
    "phone" : "311-555-2368",
    "email" : "andrew.smith@mycompany.com",
    "company" : "My Company",
    "industry" : "Finance",
    "company_employees" : "500",			
    "department" : "Engineering",
    "title" : "Senior Manager",
    "city" : "Kirkland",
    "state" : "WA",
    "zip" : "98034",
    "country" : "United States",
    "opt_in" : "true",
    "eula" : "true"
}

フィードバックをありがとうございます。フィードバックは正常に送信されました。ありがとうございます!