1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

パソコンに高速データウェアハウスNetezza開発者版をインストールして無料トライアル (Windows 10/NPSVB 11.2.2.1 BETA)

Last updated at Posted at 2023-08-13

1. はじめに

IBMが提供するデータウェアハウスは2つあり、Netezza (正式には Netezza Performance Server, NPS) と Db2 Warehouse です。Netezzaはチューニングに労力を掛けなくても処理の速いことが特徴です。もちろん Db2 Warehouse も速いですが、Netezzaよりは設定項目が多い印象です。Db2 Warehousは分析向け列表(データを列単位で保持)とトランザクション処理向けの行表(データを行単位で保持)の両方を保持することができます。一方Netezzaは分析向けデータウェアハウスであり、トランザクション処理向けのデータベースではありません。

Netezzaはアプライアンス(ソフトウェア製品が組み込み済みのハードウェア製品)やクラウド環境 (OpenShift, Cloud Pak for Data) で動作します。Netezzaの開発者版が提供されていて、無料でダウンロードしてWindows PCやMacで動かすことができます!そして次のようなNetezza Web管理画面にアクセスできるようになります。
image.png
ただしパソコン上で動かすため、本格的な分析用途ではなく、データベースの機能や互換性の確認が用途となります。

本記事ではWindows PC上にNetezza開発者版であるNPSVBを導入します。そのネットワーク設定が私にはわかりにくく、またWeb管理インターフェースを起動するシェルスクリプトを修正する必要がありました。こういった内容を本記事で説明します。目次は次の通りです。

  1. はじめに
  2. ソフトウェア・スタック
  3. 導入前提
  4. 導入手順概要
  5. 導入手順
  6. エラー例
  7. 参考資料
  8. 類似テーマを扱ったQiita記事

Netezzaクライアントツール(nzsql, ODBCドライバ)を用いた接続方法は 別のQiita記事 で紹介することにして、本記事では触れません。

2. ソフトウェア・スタック

Windows OS、仮想化ソフトウェア、仮想マシンの3階層です。開発者版NPSVBの実態は仮想マシンです。

  1. Windows OS上で仮想化ソフトウェアOracle VM VirtualBoxを動かします。
  2. この仮想環境で仮想マシンNPSVBを動かします。
  3. NPSVBはLinuxマシン(CentOS)です。そこにNetezzaが導入されています。

3. 導入前提

  1. パソコンのハードウェアについて、CPUのHyper Threadingがオンで2論理コア、メモリ8GiBがあれば動作すると思います。仮想マシンNPSVBに1論理コア、4GiBメモリを割り当てれば動作しました。

  2. Windows 10または11が必要です。本記事の検証に使ったのはWindows 10ですが、Windows 11でも同様に動作すると思います。

  3. IBMホームページのアカウント(IBMid)が必要です。このアカウントを使って仮想マシンNPSVBをダウンロードします。IBMidを持っていなければ、次のQiita記事をご覧になって作成してください。

4. 導入手順概要

8個のステップに分けて手順を説明します。

  1. Windowsネットワーク・アダプターに静的IPアドレスを追加
  2. 仮想化ソフトウェアOracle VM VirtualBoxを導入
  3. 仮想マシンNPSVBのパッケージを取得
  4. 仮想マシンNPSVBをインポート
  5. Netezzaを起動
  6. Web管理インターフェースを起動
  7. Web管理画面にアクセス
  8. 仮想マシンNPSVBを停止

5. 手順1) Windowsネットワーク・アダプターに静的IPアドレスを追加

次のNetezzaマニュアルを参考にして静的IPアドレス192.168.9.1を追加します。

上のマニュアルに沿って実施例を説明します。まずネットワーク・アダプターの名前を確認するために、Windows コマンドプロンプトからipconfigコマンドを実行します。次の例ではvEthernet (Intel Ethernet)がその名前です。

Microsoft Windows [Version 10.0.19045.3208]
(c) Microsoft Corporation. All rights reserved.

C:\WINDOWS\system32>ipconfig
Windows IP 構成
イーサネット アダプター vEthernet (Intel Dual Band Wireless):
   メディアの状態. . . . . . . . . . . .: メディアは接続されていません
   接続固有の DNS サフィックス . . . . .:

イーサネット アダプター vEthernet (Intel Ethernet):
   接続固有の DNS サフィックス . . . . .:
   IPv6 アドレス . . . . . . . . . . . .: 240d:1a:b55:2900:aa24:7bfe:46fa:3803
   リンクローカル IPv6 アドレス. . . . .: fe80::e835:ff9f:d9e:c7%16
   IPv4 アドレス . . . . . . . . . . . .: 192.168.0.72
   サブネット マスク . . . . . . . . . .: 255.255.255.0
   デフォルト ゲートウェイ . . . . . . .: fe80::260:6bff:fe49:11e5%16
                                          192.168.0.1

ネットワーク・アダプターvEthernet (Intel Ethernet)を対象としてnetshコマンドを実行し、静的IPアドレス192.168.9.1を追加します。ネットワーク・アダプターの名前は環境によって異なるため、ご自身で確認したものを使ってください。

C:\WINDOWS\system32>netsh interface ipv4 set interface interface="vEthernet (Intel Ethernet)" dhcpstaticipcoexistence=enabled
OK

C:\WINDOWS\system32>netsh interface ipv4 add address "vEthernet (Intel Ethernet)" 192.168.9.1 255.255.255.0

アダプターにIPアドレス192.168.9.1が追加されていることを確認します。

C:\Users\xxxxxxxx>ipconfig
イーサネット アダプター vEthernet (Intel Ethernet):

   接続固有の DNS サフィックス . . . . .:
   IPv6 アドレス . . . . . . . . . . . .: 240d:1a:b55:2900:aa24:7bfe:46fa:3803
   リンクローカル IPv6 アドレス. . . . .: fe80::e835:ff9f:d9e:c7%16
   IPv4 アドレス . . . . . . . . . . . .: 192.168.0.72
   サブネット マスク . . . . . . . . . .: 255.255.255.0
   IPv4 アドレス . . . . . . . . . . . .: 192.168.9.1
   サブネット マスク . . . . . . . . . .: 255.255.255.0
   デフォルト ゲートウェイ . . . . . . .: fe80::260:6bff:fe49:11e5%16
                                          192.168.0.1

5. 手順2) 仮想化ソフトウェアOracle VM VirtualBoxを導入

次のQiita記事をご覧になって導入してください。

5. 手順3) 仮想マシンNPSVBのパッケージを取得

次のNetezzaマニュアルを参考にして実行します。

上のマニュアルに沿って実施例を説明します。まず次のリンクをクリックして仮想マシンNPSVBのダウンロードサイトに移動します。

IBMidでログインします。
image.png
必要事項を入力します。
image.png
ダウンロード可能なパッケージの一覧が表示されます。Netezza Performance Server Developer Editionの最新版をクリックし、次に画面下部のContinueをクリックします。
image.png
遷移した画面からNPSVBのパッケージをダウンロードします。ここにIBM Confidentialと赤い文字で表示されていますが、IBM社外の方も利用可能です(2023年5月30日に確認済み)。
image.png

5. 手順4) 仮想マシンNPSVBをインポート

次のNetezzaマニュアルを参考にして実行します。

上のマニュアルに沿って実施例を説明します。VirutualBoxを起動し、ツールインポートをクリックします。
image.png
ポップアップが表示されます。ここに上でダウンロードしたパッケージ名を入力します。
image.png
MACアドレスのポリシーに表示されるプルダウン・メニューからすべてのネットワークアダプターでMACアドレスを生成を選択します。
image.png
インポートした仮想マシンNPSVB.11.x.x.x BETAをクリックし、その設定をクリックします。
image.png
ポップアップが表示されます。そのネットワークをクリックし、次にアダプター1タブをクリックします。続いて次の画面のように設定します。ここでアダプターの名前アダプタータイプは環境によって異なり、手順1で確認した結果に合わせてください。
image.png
アダプター2タブをクリックして次の画面のように設定し、ポップアップ下部のOKをクリックします。
image.png
設定用ポップアップが閉じたら起動をクリックします。
image.png
NPSVBのCentOSが起動を始めます。
image.png

5. 手順5) Netezzaを起動

次のNetezzaマニュアルを参考にして実行します。

上のマニュアルに沿って実施例を説明します。Windowsコマンドプロンプトを起動して仮想マシンにsshコマンドでログインします。(ユーザーnz パスワードnz

Microsoft Windows [Version 10.0.19045.3208]
(c) Microsoft Corporation. All rights reserved.

C:\Users\xxxxxxxx>ssh nz@192.168.9.2
nz@192.168.9.2's password: nz
[nz@localhost ~]$

nzstartコマンドでNetezzaを起動し、その状況をnzstateコマンドで確認します。ここでpython3に関するエラーメッセージが表示されますが、これを修正せずとも本記事の範囲において問題はありませんでした。

nz@192.168.9.2's password: nz
[nz@localhost ~]$ nzstart
/usr/bin/env: python3: No such file or directory
(startupsvr) Info: NZ-00022: --- program 'startupsvr' (2652) starting on host 'localhost.localdomain' ... ---

[nz@localhost ~]$ nzstate
System state is 'Online'.

なお、Netezzaを停止するコマンドはnzstopです。

5. 手順6) Web管理インターフェースを起動

次のNetezzaマニュアルを参考にして実行します。

上のマニュアルに沿って実施例を説明します。Windowsコマンドプロンプトを起動して仮想マシンにログインします。(ユーザーroot パスワードnetezza

Microsoft Windows [Version 10.0.19045.3208]
(c) Microsoft Corporation. All rights reserved.

C:\Users\xxxxxxxx>ssh root@192.168.9.2
root@192.168.9.2's password: netezza
[root@localhost ~]#

ここでマニュアルに記載されていない事を実行します。まずWeb管理インターフェースを起動するシェルstart-cyclops.shをrootのホームディレクトリにコピーします。この名前は任意で、下の実行例ではmy-start-cyclops.shとしました。次にmy-start-cyclops.shに記述されたパスを変更してホームディレクトリ上で動作するように修正します。(修正せずにそのまま実行するとエラーNo such file or directoryが起きて動作しません)

[root@localhost ~]# pwd
/root
[root@localhost ~]# cp /usr/local/bin/start-cyclops.sh my-start-cyclops.sh
[root@localhost ~]# cat my-start-cyclops.sh
#!/bin/bash
systemctl start docker
./cyclops_dockerrun/standalone-startup.sh influxdb:latest cyclops:4.0.2-20220104b14684-x86_64 > /tmp/cyclops_run.log 2>&1 &

[root@localhost ~]# sed -i 's/\.\/cyclops_dockerrun/\/root\/cyclops-dockerrun/' my-start-cyclops.sh
[root@localhost ~]# cat my-start-cyclops.sh
#!/bin/bash
systemctl start docker
/root/cyclops-dockerrun/standalone-startup.sh influxdb:latest cyclops:4.0.2-20220104b14684-x86_64 > /tmp/cyclops_run.log 2>&1 &

ここからマニュアルの記載に沿って実行します。修正したシェルスクリプトを実行してコンテナの状態が次のようにupであることを確認します。なお、下に表示されているcyclopsコンテナはWeb管理インターフェースを提供します。influxdbコンテナはCPU使用率などの履歴を保持します。

[root@localhost ~]# ./my-start-cyclops.sh

[root@localhost ~]# docker ps
CONTAINER ID        IMAGE                                 COMMAND                  CREATED             STATUS              PORTS                                                                        NAMES
2565c8d64763        cyclops:4.0.2-20220104b14684-x86_64   "/scripts/start.sh"      5 seconds ago       Up 2 seconds        80/tcp, 3000/tcp, 0.0.0.0:3333->3333/tcp, 5480/tcp, 0.0.0.0:8443->8443/tcp   nervous_banach
1383cc775795        influxdb:latest                       "/entrypoint.sh infl…"   6 seconds ago       Up 4 seconds        0.0.0.0:8086->8086/tcp                                                       influxdb

5. 手順7) Web管理画面にアクセス

次のNetezzaマニュアルを参考にして実行します。

上のマニュアルに沿って実施例を説明します。Webブラウザを起動して https://192.168.9.2:8443 にアクセスします。表示された画面のSelect an instanceをクリックしてそのプルダウン・メニューのAdd a new instanceをクリックします。
image.png
次の画面のように入力してAdd instanceをクリックします。ここでInstance nameは任意で下図と同じ名前を入力する必要はありません。
image.png
次のようなWeb管理画面が表示されます。
image.png

5. 手順8) 仮想マシンNPSVBを停止

NPSVBのファイルタブをクリックし、閉じるをクリックします。続いて表示されるポップアップにおいて仮想マシンの状態を保存をクリックし、OKをクリックします。
image.png

6. エラー例) Web管理画面にアクセスできない (192.168.9.2 refused to connect)

上の手順8を実行せずに仮想マシンを止めたとき、このエラーに遭遇しました。対処方法はNetezzaの起動およびコンテナ(cyclopsとfluxdb)の削除と起動です。

まずNetezzaにユーザーnzでログインします。NetezzaがOnlineかどうかを確認し、Stoppedであれば起動します。

C:\Users\xxxxxxxx>ssh nz@192.168.9.2
nz@192.168.9.2's password: nz
[nz@localhost ~]$ nzstate
System state is 'Stopped'.

[nz@localhost ~]$ nzstart
/usr/bin/env: python3: No such file or directory
(startupsvr) Info: NZ-00022: --- program 'startupsvr' (3135) starting on host 'localhost.localdomain' ... ---

[nz@localhost ~]$ nzstate
System state is 'Online'.

Netezzaにユーザーrootでログインします。手順6で修正した/root/my-start-cyclops.shを実行します。

C:\Users\xxxxxxxx>ssh root@192.168.9.2
root@192.168.9.2's password: netezza
[root@localhost ~]# /root/my-start-cyclops.sh

止まっているコンテナ(cyclopsとinfluxdb)を確認して、削除します。

[root@localhost ~]# docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES

[root@localhost ~]# docker ps -a
CONTAINER ID        IMAGE                                 COMMAND                  CREATED             STATUS                     PORTS                                                                        NAMES
0a384f30e4df        cyclops:4.0.2-20220104b14684-x86_64   "/scripts/start.sh"      8 seconds ago       Created                    80/tcp, 3000/tcp, 0.0.0.0:3333->3333/tcp, 5480/tcp, 0.0.0.0:8443->8443/tcp   upbeat_chatterjee
dbe410124a72        influxdb:latest                       "/entrypoint.sh infl…"   38 minutes ago      Exited (0) 9 minutes ago                                                                                influxdb

[root@localhost ~]# docker rm 0a384f30e4df dbe410124a72
0a384f30e4df
dbe410124a72

再度/root/my-start-cyclops.shを実行し、コンテナ(cyclopsとinfluxdb)が実行中であることを確認します。

[root@localhost ~]# /root/my-start-cyclops.sh

[root@localhost ~]# docker ps
CONTAINER ID        IMAGE                                 COMMAND                  CREATED             STATUS              PORTS                                                                        NAMES
a851b547db6e        cyclops:4.0.2-20220104b14684-x86_64   "/scripts/start.sh"      4 minutes ago       Up 4 minutes        80/tcp, 3000/tcp, 0.0.0.0:3333->3333/tcp, 5480/tcp, 0.0.0.0:8443->8443/tcp   nervous_swanson
95b4a62acf9d        influxdb:latest                       "/entrypoint.sh infl…"   4 minutes ago       Up 4 minutes        0.0.0.0:8086->8086/tcp                                                       influxdb

Web管理画面 https://192.168.9.2:8443/ にアクセスできることを確認します。
image.png

7. 参考資料

8. 類似テーマを扱ったQiita記事

1
0
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?