著者 Adam Tworkiewicz
最終更新日 2022年2月16日
警告
本記事はTeradata CorporationのサイトGetting Startedに掲載された内容を抄訳したものです。掲載内容の正確性・完全性・信頼性・最新性を保証するものではございません。正確な内容については、原本をご参照下さい。
また、修正が必要な箇所や、ご要望についてはコメントをよろしくお願いします。
概要
このハウツーでは、Microsoft AzureでVantage Expressを実行する方法を説明します。Vantage Expressには、完全に機能するTeradata SQL Engineが含まれています。
クラウド利用料を必要としない方法としては、VMware、VirtualBox、またはUTMを使用してVantage Expressをローカルにインストールする方法があります。
前提条件
① Azureのアカウント。ここで作成できます: https://azure.microsoft.com/en-us/free/
② azコマンドラインユーティリティがあなたのマシンにインストールされていること。インストール方法はこちらで確認できます: https://docs.microsoft.com/en-us/cli/azure/install-azure-cli.
インストール
① デフォルトの地域をあなたに最も近い地域に設定します(地域を一覧表示するには、az account list-locations -o tableを実行します)
az config set defaults.location=<location>
② tdve-resource-groupという新しいリソースグループを作成し、defaultsに追加します。
az group create -n tdve-resource-group
az config set defaults.group=tdve-resource-group
③ VMを作成するには、sshキーペアが必要です。まだ持っていない場合は、作成してください。
az sshkey create --name vantage-ssh-key
④ プライベートキーへのアクセスを制限します。path_to_private_key_file を、前のコマンドで返された秘密鍵のパスに置き換えてください。
chmod 600 <path_to_private_key_file>
⑤ 4CPU、8GBのRAM、30GBのOSディスク、60GBのデータディスクを搭載したUbuntu VMを作成します。
Windows
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
MacOS
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
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
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
⑥ VMにsshします。path_to_private_key_file と vm_ip は環境に合わせて置き換えてください。
ssh -i <path_to_private_key_file> azureuser@<vm_ip>
⑦ VMに入ったら、rootユーザーに切り替えます。
sudo -i
⑧ Vantage Expressのダウンロードディレクトリを用意する。
mkdir /opt/downloads
cd /opt/downloads
⑨ データディスクをマウントする。
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
⑩ VirtualBoxと7zipのインストール
apt update && apt-get install p7zip-full p7zip-rar virtualbox -y
⑪ Vantage Expressをダウンロードするためのcurlコマンドを取得します。
a)Vantage Expessのダウンロードページにアクセスします(登録が必要です)。
b)最新のダウンロードリンク(例:"Vantage Express 17.10")をクリックします。ライセンス契約のポップアップが表示されます。まだライセンスに同意しないでください。
c)ブラウザでネットワークビューを開きます。例えば、ChromeでF12キーを押して、ネットワークタブに移動します。
d)同意するボタンをクリックしてライセンスに同意し、ダウンロードをキャンセルします。
e.ネットワークビューで、VantageExpressで始まる最後のリクエストを見つけます。その上で右クリックし、コピー→cURLとしてコピーを選択します。
⑫ sshセッションに戻り、curlコマンドを貼り付けて、Vantage Expressをダウンロードします。コマンドに -o ve.7z を追加すると、ダウンロードしたファイルを ve.7z という名前のファイルに保存します。HTTPヘッダをすべて削除する、などです。
curl -o ve.7z 'http://d289lrf5tw1zls.cloudfront.net/database/teradata-express/VantageExpress17.10_Sles12_202108300444.7z?Expires=1638719978&Signature=GKBkNvery_long_signature__&Key-Pair-Id=********************'
⑬ ダウンロードしたファイルを解凍してください。数分かかります。
7z x ve.7z
⑭ VirtualBoxでVMを起動します。コマンドはすぐに返ってきますが、VMのinitプロセスには数分かかります。
export VM_IMAGE_DIR="/opt/downloads/VantageExpress17.10_Sles12"
DEFAULT_VM_NAME="vantage-express-17.10"
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
⑮ Vantage Express VMにsshします。パスワードはrootを使用します。
ssh -p 4422 root@localhost
⑯ DBが稼働していることを確認する。
pdestate -a
コマンドが返された場合、PDE の状態は RUN/STARTED です。DBSの状態は、5:ログオンが有効 - システムが静止している、 つまりVantage Expressが起動したことを意味します。状態が異なる場合は、正しい状態になるまで pdestate -a を繰り返してください。
⑰ Vantage Expressが起動したら、bteq clientコマンドラインクライアントを起動します。BTEQ(発音:ビーテック)は、Teradata データベースに SQL クエリーを送信するために使用される、コマンドベースの汎用クライアントツールです。
bteq
⑱ bteqを起動したら、Vantage Expressインスタンスに接続します。パスワードを要求されたら、dbc と入力します。
.logon localhost/dbc
サンプルクエリの実行
① dbcユーザーを使用して、HRという新しいデータベースを作成します。このクエリをコピー&ペーストして、Enterキーを押して実行します。
CREATE DATABASE HR
AS PERMANENT = 60e6, -- 60MB
SPOOL = 120e6; -- 120MB
② サンプルテーブルを作成し、データを挿入してクエリを実行してみましょう。まず、社員情報を保持するテーブルを作成します。
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 );
③ では、レコードを挿入してみましょう。
INSERT INTO HR.Employees (
GlobalID,
FirstName,
LastName,
DateOfBirth,
JoinedDate,
DepartmentCode
)
VALUES (
101,
'Adam',
'Tworkowski',
'1980-01-05',
'2004-08-01',
01
);
④ 最後に、データを取り出せるかどうか見てみましょう。
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-17.10.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-17.10 --type headless
ExecStop=/usr/bin/VBoxManage controlvm vantage-express-17.10 savestate
[Install]
WantedBy=multi-user.target
EOF
systemctl daemon-reload
systemctl enable vantage-express-17.10
systemctl start vantage-express-17.10
・インターネットから Vantage Express に接続する場合は、VM に対してファイアウォール・ホールを開く必要があります。また、デフォルトのパスワードはdbcユーザに変更する必要があります。
① dbcユーザのパスワードを変更するには、VMに移動してbteqを起動します。
bteq
②ユーザー名とパスワードをdbcにして、データベースにログインします。
.logon localhost/dbc
③dbc ユーザーのパスワードを変更します。
MODIFY USER dbc AS PASSWORD = new_password;
④これで、gcloudコマンドで1025番ポートをインターネットに開放することができます。
az vm open-port --name teradata-vantage-express --port 1025
クリーンアップ
課金を停止するには、リソースグループに関連するすべてのリソースを削除します。
az group delete --no-wait -n tdve-resource-group
次のステップ
・オブジェクトストレージに保存されているデータを問い合わせる
さらに詳しく
・Teradata® Studio™ and Studio™ Express Installation Guide