[Tableau Server]旧バージョンから2018.3へアップグレードしてみた #tableau

はじめに

ごきげんよう。DI部@大阪オフィスのtamaです。

Tableau Serverも頻繁に新バージョンがリリースされるようになり、「そろそろウチのアップグレードしなきゃ…」とお考えのサーバー管理者の方もチラホラいるのではないでしょうか。しかし「ウチのTableau Server、結構古いんやけど、問題なくアップグレードできますやろか…」と心配な方もチラホラいるのではないでしょうか。

というわけで、今回は結構古いバージョンであるTableau Server 10.1から2018.3へアップグレードしてみた、という内容のエントリをお届けします。

とりあえずTableau Server10.1を準備

インストール先の環境

  • AWS EC2
  • C5.4xlarge
  • Windows Server 2016

インストールする

全部初期設定でインストールします。

バックアップをとっておく

tabadminコマンドでバックアップを取得します。

バックアップの前に、復元した時にわかるように、適当にユーザーを追加したりビューをパブリッシュしたりしておきます。

C:\Program Files\Tableau\Tableau Server\10.1\bin>tabadmin backup 10-1.tsbak
===== Using as backup tmp directory: C:/ProgramData/Tableau/Tableau Server/data/tabsvc/temp (free space: 78.19 GB)
===== Setting inheritance on C:/ProgramData/Tableau/Tableau Server/data/tabsvc/pgsql/data
===== Setting inheritance completed on C:/ProgramData/Tableau/Tableau Server/data/tabsvc/pgsql/data
===== Cleaning entries from http_requests log older than 7 days
   -- Deleted 0 rows
===== Backing up database data with tblwgadmin
===== Backing up dataengine extracts
===== Backup of database data done
===== Backup of dataengine extracts done
===== Backup written to C:/Program Files/Tableau/Tableau Server/10.1/bin/10-1.tsbak

いきなりTableau Server 2018.3へアップグレードしてみる

いきなりインストーラーを起動してみる

従来のアップグレードと違い、既存のTableau Serverを先にアンインストールしていないとダメとのことです。

まずTableau Server 10.1をアンインストール

Windowsの「アプリと機能」から普通にアンインストールします。

 

改めてTableau Server 2018.3をインストール

インストールしてみます。

途中までは問題なくウィザードが進みましたが…しかし失敗!!

本来であれば、アップグレードスクリプトが実行されるのですが、それが実行されず、インストール作業が止まってしまい、うんともすんとも言わない状態に…。

いきなり2018.3がダメだった理由

Tableauに限りませんが、何らかのシステムというのは、アップデートしていくたびに仕様が変わっていきます。そのバージョンの差異が大きいと、アップグレードがうまくいかないことはよくあります。

Tableau Serverの場合、まず10.5で抽出ファイルの形式が「Hyper」というものに変わりました。そして、2018.2からは「TSM」というサーバー管理の新しい仕組みが登場しました。10.1→2018.3の間には、これらの非常に大きな変更があったため、一気にアップグレードしようとしても、差異が大きすぎてうまくいかなかったのでは…と考えられます。

「一気にアップグレードできなければ段階を踏んでアップグレードすればいいじゃない」ということで、次は一気にアップグレードするのではなく、一度真ん中あたりのバージョンに上げてから、2018.3にアップグレードしてみたいと思います。

2018.1を挟む「2段階」でアップグレードしてみる

2018.1は、TSMが搭載された2018.2の直前のバージョンなので、間に挟むには丁度いいかと思った次第です。

まずは2018.1へアップグレード

インストール

先程と同様、まずは10.1の環境を用意します。そして、今回はまず2018.1にアップグレードします。アップグレードの方法は簡単です。10.1の環境で2018.1のインストーラーを実行するだけです。

問題なくアップグレードできました。

 

特に復元作業を行わなくても、データは引き継がれています。

バックアップ取得

念の為、2018.1の時点のバックアップを取得しておきます(ついでに2018.1の状態が分かるように、適当にプロジェクト等を用意)。

そして2018.3へ…

さあいよいよ2018.3にアップグレードします。

2018.1をアンインストール

「いきなりTableau Server 2018.3へアップグレード」の時と同様、まずは既存Tableau Serverをアンインストールします。

2018.3をインストール

そしてインストーラーを起動。

単一のTableau Serverとしてインストールするので、上の項目を選びます。

アップグレードの方法は自動化(Automatically〜)を選びます(下のチェックボックスはヘルプが出るだけです)。

アップグレードスクリプトが実行されます。

TSMが起動、設定項目を一通り入力し、Tableau Serverが立ち上がるのを待ちます。そして、TSMのプロセスステータス画面まで来ました。

上記画面の右上のメニューからTableau Serverを再起動します。…すると!

Tableau Server 2018.3のアップグレードに成功しました!データもそのまま引き継がれております。

ちなみにライセンス状態も変わらず維持されております。

バックアップからの復元

アップグレードはできましたが、それぞれの過去バージョン時点で取得したバックアップファイルは、果たして2018.3に対して使用することができるのでしょうか?

10.1のバックアップを2018.3で使ってみた

>tsm maintenance restore -f 10-1.tsbak -r
'10-1.tsbak' の復元中...
サーバー側のファイル名 '10-1.tsbak' を使用しています
ジョブ ID '4'、タイムアウトは 2880 分です。
3% - 認証方法の比較に失敗しました。
6% - 一時バックアップ ファイルを削除しています。
9% - すべてのノードで復元データをクリーンアップ中。
12% - 復元サービスをアンインストール中。
16% - すべてのサービスを有効化しています。
19% - サービスの開始を待機しています。

'10-1.tsbak' のバックアップの復元に失敗しました。

アップグレードと同じく、バックアップファイルからの復元においても、バージョン差異が大きいと失敗するようです

2018.1のバックアップを2018.3で使ってみた

こちらは問題なく成功。2018.1の状態にキレイに復元されました(スクリーンショット撮り忘れましたすみません…)。

まとめ

Tableau Serverのアップグレード

  • 10.1→2018.3
    • 失敗する
  • 10.1→2018.1→2018.3
    • 成功する

Tableau Serverのバックアップファイルを使用した復元

  • 10.1のバックアップ→2018.3へ復元
    • 失敗する
  • 2018.1のバックアップ→2018.3へ復元
    • 成功する
  • 10.5のバックアップ→2018.3へ復元
    • 成功する
    • 本エントリに書いていませんが、10.5のバックアップファイルも試しました。

おわりに

Tableau Serverの比較的古いバージョンから、2018.3にアップグレードするエントリでした。さすがにバージョンが古すぎるとスッとアップグレードはできない結果となりましたが、その場合は間のバージョンを挟むことで問題なくアップグレードが成功します。同一インスタンスの場合は、データもそのまま引き継がれるので、落ち着いてアップグレード作業をしましょう。