Imagen

Azure で Vantage Express を実行する方法

https://clearscape.teradata.com/では、Vantageのホストされたインスタンスを無料で入手できるようになりました。

概要

このハウツーでは、Microsoft Azure で Vantage Express を実行する方法を示します。Vantage Express には、完全に機能する Teradata SQL Engineが含まれています。

前提条件

  1. Azureアカウント。ここで作成できます。 https://azure.microsoft.com/en-us/free/

  2. az コマンド ラインユーティリティがマシンにインストールされています。インストール手順はここで見つけることができます。https://docs.microsoft.com/en-us/cli/azure/install-azure-cli

インストール

  1. デフォルトのリージョンを自分に最も近いリージョンに設定します (場所をリストするには az account list-locations -o table を実行します)。

    az config set defaults.location=<location>
  2. tdve-resource-group という名前の新しいリソース グループを作成し、デフォルトに追加します。

    az group create -n tdve-resource-group
    az config set defaults.group=tdve-resource-group
  3. VMを作成するには、sshキーペアが必要です。まだ持っていない場合は、作成する。

    az sshkey create --name vantage-ssh-key
  4. 秘密キーへのアクセスを制限する。 <path_to_private_key_file> を前述のコマンドで返された秘密キーのパスに置き換えます。

    chmod 600 <path_to_private_key_file>
  5. 4つの CPU と 8GB の RAM、30GB の OS ディスク、60GB のデータディスクを備えた Ubuntu VM を作成します。

    • Windows

    • MacOS

    • Linux

    az disk create -n teradata-vantage-express --size-gb 60
    az vm create `
      --name teradata-vantage-express `
      --image UbuntuLTS `
      --admin-username azureuser `
      --ssh-key-name vantage-ssh-key `
      --size Standard_F4s_v2 `
      --public-ip-sku Standard
    
    $diskId = (az disk show -n teradata-vantage-express --query 'id' -o tsv) | Out-String
    az vm disk attach --vm-name teradata-vantage-express --name $diskId
    az disk create -n teradata-vantage-express --size-gb 60
    az vm create \
      --name teradata-vantage-express \
      --image UbuntuLTS \
      --admin-username azureuser \
      --ssh-key-name vantage-ssh-key \
      --size Standard_F4s_v2 \
      --public-ip-sku Standard
    
    DISK_ID=$(az disk show -n teradata-vantage-express --query 'id' -o tsv)
    az vm disk attach --vm-name teradata-vantage-express --name $DISK_ID
    az disk create -n teradata-vantage-express --size-gb 60
    az vm create \
      --name teradata-vantage-express \
      --image UbuntuLTS \
      --admin-username azureuser \
      --ssh-key-name vantage-ssh-key \
      --size Standard_F4s_v2 \
      --public-ip-sku Standard
    
    DISK_ID=$(az disk show -n teradata-vantage-express --query 'id' -o tsv)
    az vm disk attach --vm-name teradata-vantage-express --name $DISK_ID
  6. VMにsshで接続します。 <path_to_private_key_file><vm_ip> を環境に一致する値に置き換えます。

    ssh -i <path_to_private_key_file> azureuser@<vm_ip>
  7. VM に接続したら、root ユーザーに切り替えます。

    sudo -i
  8. Vantage Express用のダウンロードディレクトリを準備します。

    mkdir /opt/downloads
    cd /opt/downloads
  9. データ ディスクをマウントします。

    parted /dev/sdc --script mklabel gpt mkpart xfspart xfs 0% 100%
    mkfs.xfs /dev/sdc1
    partprobe /dev/sdc1
    export DISK_UUID=$(blkid | grep sdc1 | cut -d"\"" -f2)
    echo "UUID=$DISK_UUID  /opt/downloads   xfs   defaults,nofail   1   2" >> /etc/fstab
  10. VirtualBoxと7 zipをインストールします。

    apt update && apt-get install p7zip-full p7zip-rar virtualbox -y
  11. curlコマンドを取得して、Vantage Expressをダウンロードします。

    1. Vantage Expess のダウンロード ページに移動します (登録が必要です)。

    2. 「Vantage Express 17.20」などの最新のダウンロードリンクをクリックします。使用許諾契約のポップアップが表示されます。まだライセンスを受け入れません。

    3. ブラウザでネットワークビューを開きます。例えば、Chrome で F12 を押し「 Network」タブに移動します。

      ブラウザの「Network」タブ
    4. `I Agree (同意する)`ボタンをクリックしてライセンスを受け入れ、ダウンロードをキャンセルします。

    5. ネットワーク ビューで、 `VantageExpress`で始まる最後のリクエストを見つけます。それを右クリックして `Copy → Copy as cURL`を選択します。

      Browser Copy culr
  12. ssh セッションに戻り、curl コマンドを貼り付けて Vantage Express をダウンロードします。ダウンロードを ve.7z という名前のファイルに保存するには、コマンドに -o ve.7z を追加します。次のように、すべてのHTTPヘッダーを削除できます。

    curl -o ve.7z 'http://d289lrf5tw1zls.cloudfront.net/database/teradata-express/VantageExpress17.20_Sles12_202108300444.7z?Expires=1638719978&Signature=GKBkNvery_long_signature__&Key-Pair-Id=********************'
  13. ダウンロードしたファイルを解凍します。数分かかります。

    7z x ve.7z
  14. VirtualBox で VM を起動しますコマンドはすぐに返されますが、VM の初期化プロセスには数分かかります。

    export VM_IMAGE_DIR="/opt/downloads/VantageExpress17.20_Sles12"
    DEFAULT_VM_NAME="vantage-express"
    VM_NAME="${VM_NAME:-$DEFAULT_VM_NAME}"
    vboxmanage createvm --name "$VM_NAME" --register --ostype openSUSE_64
    vboxmanage modifyvm "$VM_NAME" --ioapic on --memory 6000 --vram 128 --nic1 nat --cpus 4
    vboxmanage storagectl "$VM_NAME" --name "SATA Controller" --add sata --controller IntelAhci
    vboxmanage storageattach "$VM_NAME" --storagectl "SATA Controller" --port 0 --device 0 --type hdd --medium  "$(find $VM_IMAGE_DIR -name '*disk1*')"
    vboxmanage storageattach "$VM_NAME" --storagectl "SATA Controller" --port 1 --device 0 --type hdd --medium  "$(find $VM_IMAGE_DIR -name '*disk2*')"
    vboxmanage storageattach "$VM_NAME" --storagectl "SATA Controller" --port 2 --device 0 --type hdd --medium  "$(find $VM_IMAGE_DIR -name '*disk3*')"
    vboxmanage modifyvm "$VM_NAME" --natpf1 "tdssh,tcp,,4422,,22"
    vboxmanage modifyvm "$VM_NAME" --natpf1 "tddb,tcp,,1025,,1025"
    vboxmanage startvm "$VM_NAME" --type headless
    vboxmanage controlvm "$VM_NAME" keyboardputscancode 1c 1c
  15. Vantage Express VM に ssh で接続します。 root をパスワードとして使用します。

    ssh -p 4422 root@localhost
  16. DBがアップしていることを確認します。

    pdestate -a

    コマンドが`PDE state is RUN/STARTED. DBS state is 5: Logons are enabled - The system is quiescent`を返す場合は、Vantage Expressが起動したことを意味します。 状態が異なる場合は、正しいステータスが得られるまで pdestate -a を繰り返します。

  17. Vantage Expressが起動して実行されたら、bteq クライアントのコマンドラインクライアントを起動します。BTEQ (「ビーテック」と発音) は、Teradata Database に SQL クエリーを送信するために使用される、汎用のコマンド ベースのクライアント ツールです。

    bteq
  18. bteqに入ったら、Vantage Expressインスタンスに接続します。パスワードを求められたら、 `dbc`を入力します。

    .logon localhost/dbc

サンプル クエリーを実行する

  1. `dbc`ユーザーを使用して、`HR`という新しいデータベースを作成します。このクエリーをコピー/貼り付けて、Enter を押して実行します。

    CREATE DATABASE HR
    AS PERMANENT = 60e6, -- 60MB
        SPOOL = 120e6; -- 120MB
    クエリーを実行できましたか?
  2. サンプルテーブルを作成し、データを挿入してクエリーを実行してみましょう。まず、従業員情報を保持するテーブルを作成する。

    CREATE SET TABLE HR.Employees (
       GlobalID INTEGER,
       FirstName VARCHAR(30),
       LastName VARCHAR(30),
       DateOfBirth DATE FORMAT 'YYYY-MM-DD',
       JoinedDate DATE FORMAT 'YYYY-MM-DD',
       DepartmentCode BYTEINT
    )
    UNIQUE PRIMARY INDEX ( GlobalID );
  3. 次に、レコードを挿入する。

    INSERT INTO HR.Employees (
       GlobalID,
       FirstName,
       LastName,
       DateOfBirth,
       JoinedDate,
       DepartmentCode
    )
    VALUES (
       101,
       'Adam',
       'Tworkowski',
       '1980-01-05',
       '2004-08-01',
       01
    );
  4. 最後に、データを取得できるかどうかを確認する。

    SELECT * FROM HR.Employees;

    以下の結果が得られるはずです。

    GlobalID  FirstName  LastName   DateOfBirth  JoinedDate  DepartmentCode
    --------  ---------  ---------- -----------  ----------  --------------
         101  Adam       Tworkowski  1980-01-05  2004-08-01               1

オプションを設定する

  • VM を停止して起動する場合は、Vantage Express を自動起動に追加することをお勧めします。 VM に ssh で接続し、以下のコマンドを実行します。

    sudo -i
    
    cat <<EOF >> /etc/default/virtualbox
    VBOXAUTOSTART_DB=/etc/vbox
    VBOXAUTOSTART_CONFIG=/etc/vbox/autostart.cfg
    EOF
    
    cat <<EOF > /etc/systemd/system/vantage-express.service
    [Unit]
    Description=vm1
    After=network.target virtualbox.service
    Before=runlevel2.target shutdown.target
    [Service]
    User=root
    Group=root
    Type=forking
    Restart=no
    TimeoutSec=5min
    IgnoreSIGPIPE=no
    KillMode=process
    GuessMainPID=no
    RemainAfterExit=yes
    ExecStart=/usr/bin/VBoxManage startvm vantage-express --type headless
    ExecStop=/usr/bin/VBoxManage controlvm vantage-express savestate
    [Install]
    WantedBy=multi-user.target
    EOF
    
    systemctl daemon-reload
    systemctl enable vantage-express
    systemctl start vantage-express
  • インターネットからVantage Expressに接続したい場合は、VMに対してファイアウォールの穴を開ける必要がある。また、デフォルトのパスワードを dbc ユーザーに変更する必要があります。

    1. dbc ユーザーのパスワードを変更するには、VM に移動して bteq を開始します。

      bteq
    2. ユーザー名とパスワードとして dbc を使用してデータベースにログインします。

      .logon localhost/dbc
    3. dbc ユーザーのパスワードを変更します。

      MODIFY USER dbc AS PASSWORD = new_password;
    4. gcloud コマンドを使用して、ポート 1025 をインターネットに開くことができるようになりました。

      az vm open-port --name teradata-vantage-express --port 1025

クリーンアップ

料金の発生を停止するには、リソース グループに関連付けられているすべてのリソースを削除します。

az group delete --no-wait -n tdve-resource-group

さらに詳しく

ご質問がある場合、またはさらにサポートが必要な場合は、コミュニティ フォーラムにアクセスしてサポートを受け、他のコミュニティ メンバーと交流してください。
このページは役に立ちましたか?