2. GridData Analytics Serverのインストール¶
本章では、 インストール構成例 に示した構成における、GridData Analytics Serverのインストール方法を説明します。
本章と GridData Analytics Scale Serverのインストール では、各サーバーはそれぞれ以下のホスト名とIPアドレスを持つものとし、 GridData Analytics ServerをSERVER0、 GridData Analytics Scale Serverのマスター・ノードをSERVER1、SERVER2、SERVER3、 スレーブ・ノードをSERVER4、SERVER5、SERVER6としてクラスターを構成します。
マシン名 | ホスト名 | IPアドレス |
---|---|---|
GridData Analytics Server | SERVER0 | 10.0.0.1 |
GridData Analytics Scale Server(master1) | SERVER1 | 10.0.0.2 |
GridData Analytics Scale Server(master2) | SERVER2 | 10.0.0.3 |
GridData Analytics Scale Server(master3) | SERVER3 | 10.0.0.4 |
GridData Analytics Scale Server(slave1) | SERVER4 | 10.0.0.5 |
GridData Analytics Scale Server(slave2) | SERVER5 | 10.0.0.6 |
GridData Analytics Scale Server(slave3) | SERVER6 | 10.0.0.7 |
マニュアル内に登場するIPアドレスは、それぞれ実際の値に置き換えてください。
以下の手順は管理者ユーザーで実行してください。
2.1. インストール前の準備¶
(1)/tmpにインストールディスクの中身をコピーします。
# cp –rf [モジュールのパス]/* /tmp
(2)ファイアウォールの無効化
[RHEL / CentOS 6]
ファイアウォールとしてiptablesを使用している場合は、以下のように停止し、自動起動を無効化します。
# service iptables stop
# chkconfig iptables off
[RHEL / CentOS 7]
ファイアウォールとしてfirewalldを使用している場合は、以下のように停止し、自動起動を無効化します。
# systemctl stop firewalld
# systemctl disable firewalld
(3)SELINUXの無効化
以下のようにSELINUXを無効化します。
# sed -i -e "s/^SELINUX=enforcing$/SELINUX=disabled/g" /etc/selinux/config
# setenforce 0
(4)sudoユーザーの変更
以下のコマンドで、sudoersファイルを編集します。
# visudo
以下の行のコメントアウトを外します。
(変更前)
# %wheel ALL=(ALL) NOPASSWD: ALL
(変更後)
%wheel ALL=(ALL) NOPASSWD: ALL
以下の行を追加します。
Cmnd_Alias JUPYTER_CMD = /home/griddata/analytics/anaconda/bin/sudospawner
griddata ALL=(%jupyter) NOPASSWD:JUPYTER_CMD
(5)/etc/hostsの編集
/etc/hostsを編集し、GridData Analyticsをインストールするすべてのサーバーのホスト名とIPアドレスを追加します。
10.0.0.1 SERVER0
10.0.0.2 SERVER1
10.0.0.3 SERVER2
10.0.0.4 SERVER3
10.0.0.5 SERVER4
10.0.0.6 SERVER5
10.0.0.7 SERVER6
(6)hostnameの変更
[RHEL / CentOS 6]
/etc/sysconfig/networkを編集し、(4)で設定したホスト名と一致させます。
HOSTNAME=SERVER0
設定を反映させるためサーバーを再起動します。
# reboot
[RHEL / CentOS 7]
hostnamectlコマンドを実行し、(4)で設定したホスト名と一致させます。
# hostnamectl set-hostname SERVER0
RHEL / CentOS 7の場合、サーバーの再起動は不要です。
(7)Gitのシンボリックリンクの作成
以下はGitが/usr/local/bin/gitにインストールされている場合を例に説明します。
Gitがインストール済みの場合、インストールされている場所を確認します。
# which git
/usr/local/bin/git
/usr/bin/gitにシンボリックリンクがない場合、/usr/bin/gitにシンボリックリンクを作成します。
# ln -s /usr/local/bin/git /usr/bin/git
以上でインストール前の準備は完了です。
2.2. インストール手順¶
(1)インストールスクリプトの実行
以下のコマンドで、インストールスクリプトを実行します。
[RHEL / CentOS 6]
# cd /tmp/tools/
# chmod a+x ./*.sh
# sh setup_redhat6.sh
[RHEL / CentOS 7]
# cd /tmp/tools/
# chmod a+x ./*.sh
# sh setup_redhat7.sh
インストールスクリプトにより、以下の手順が自動で実行されます。
- griddataユーザーの作成
GridData Analyticsの管理用ユーザーとしてgriddataユーザーを作成します。
ユーザー名 パスワード griddata griddata インストール完了後、パスワードは必要に応じて変更してください。
Anacondaなど、ライブラリーのインストールと設定
Sparkクライアントのインストール
HDFSクライアントのインストール
Jupyterの起動
setup_redhat6.shとsetup_redhat7.shの仕様は以下の通りです。
setup_redhat6.sh [-s|--skip]
setup_redhat7.sh [-s|--skip]
実行中にエラーが発生した場合、インストールログファイルsetup.logにエラーを出力し、インストールを中断します。 トラブルシューティング を参照し、インストール環境や設定を確認してください。
再度インストールスクリプトを実行すると、setup.logの内容に従い、中断した手順からインストールを再開します。必要に応じて --skip
オプションを使用してください。
オプション | 引数 | 説明 |
---|---|---|
-s | --skip |
- | 中断した手順ではなく、その次の手順からインストールを再開します。中断した手順を手作業により完了した場合に使用します。 |
インストールをはじめから実行したい場合は、setup.logを削除してからインストールスクリプトを実行してください。
(2)Cupyのインストール
以下の手順はCupyを利用する場合にのみ実行してください。 Cupyのインストール後も、以下の変更を行った場合は本手順によりCuPYを再インストールしてください。
- CUDA Toolkitのバージョンを変更した
- cuDNNのバージョンアップやNCCLのインストールなど、CUDA Toolkitのライブラリーを変更した
(2-1)あらかじめGPUをセットアップし、GPUドライバー、CUDA Toolkit、cuDNNをインストールしてください。
(2-2)CUDA Toolkitのパスを、設定ファイル/etc/profile.d/griddata.shに追記します。
以下ではCUDA Toolkitのインストール先がデフォルトの/usr/local/cudaの場合を例に説明します。
# echo 'export PATH=/usr/local/cuda/bin:$PATH' >> /etc/profile.d/griddata.sh
# echo 'export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH' >> /etc/profile.d/griddata.sh
# exec $SHELL -l
(2-3)cudaの実行パスにgcc、g++のシンボリックリンクを作成します。
# ln -s /usr/bin/gcc /usr/local/cuda/bin/gcc
# ln -s /usr/bin/g++ /usr/local/cuda/bin/g++
(2-4)インストールスクリプトを実行します。
# cd /tmp/tools/
# chmod a+x ./*.sh
# sh setup_cupy.sh
実行完了には時間がかかる場合があります。
(3)PostgreSQLのインストール
GridData Analytics Scale Serverを利用する場合、 PostgreSQLのインストールと設定が必要です。 GridData Analytics Scale Serverを利用しない場合、本手順は省略して構いません。
(3-1)PostgreSQLをインストールします。
[RHEL / CentOS 6]
# cd /home/griddata/griddata-core/postgresql
# rpm -ivh postgresql96-9.6.9-1PGDG.rhel6.x86_64.rpm postgresql96-libs-9.6.9-1PGDG.rhel6.x86_64.rpm postgresql96-server-9.6.9-1PGDG.rhel6.x86_64.rpm
[RHEL / CentOS 7]
# cd /home/griddata/griddata-core/postgresql
# rpm -ivh postgresql96-9.6.9-1PGDG.rhel7.x86_64.rpm postgresql96-libs-9.6.9-1PGDG.rhel7.x86_64.rpm postgresql96-server-9.6.9-1PGDG.rhel7.x86_64.rpm
(3-2)PostgreSQLを初期化します。
[RHEL / CentOS 6]
# service postgresql-9.6 initdb
# service postgresql-9.6 start
# chkconfig postgresql-9.6 on
[RHEL / CentOS 7]
# /usr/pgsql-9.6/bin/postgresql96-setup initdb
# systemctl start postgresql-9.6.service
# systemctl enable postgresql-9.6.service
(3-3)PostgreSQLを設定します。
以降はpostgresユーザーでおこなってください。
# su - postgres
$ psql -c "alter role postgres with password 'postgres'"
PostgreSQLファイル(postgresql.conf)を編集します。
$ vi 9.6/data/postgresql.conf
以下の設定をします。
listen_addresses = '*'
PostgreSQLファイル(pg_hba.conf)を編集します。
$ vi 9.6/data/pg_hba.conf
以下の設定をします。
local all postgres ident
local all all md5
host all all 0.0.0.0/0 md5
postgresユーザーから管理者ユーザーに戻ります。
$ exit
設定が完了したらPostgreSQLを再起動します。
以降は管理者ユーザーで行ってください。
[RHEL / CentOS 6]
# service postgresql-9.6 restart
[RHEL / CentOS 7]
# systemctl restart postgresql-9.6.service
(3-4)Hiveテーブル生成用SQLをコピーします。
# cp /home/griddata/griddata-core/hive/scripts/metastore/upgrade/postgres/hive-schema-2.3.0.postgres.sql /var/lib/pgsql/
# cp /home/griddata/griddata-core/hive/scripts/metastore/upgrade/postgres/hive-txn-schema-2.3.0.postgres.sql /var/lib/pgsql/
# chown postgres:postgres /var/lib/pgsql/hive-schema-2.3.0.postgres.sql
# chown postgres:postgres /var/lib/pgsql/hive-txn-schema-2.3.0.postgres.sql
(3-5)Hiveテーブルを生成します。
PostgreSQLにHive用DBを作成します。 以降はpostgresユーザーで行ってください。
# su - postgres
$ psql -U postgres
postgres=# create database hive;
postgres=# \q
Hive用DBにHiveテーブルを生成します。
$ psql -f /var/lib/pgsql/hive-schema-2.3.0.postgres.sql -U postgres -d hive
$ exit
以上でPostgresSQLのインストールは完了です。
2.3. 初期設定¶
以下の機能を利用する場合、初期設定を行います。
- OracleDBへの接続機能
- PDF出力機能
- Spark-GridDBコネクター
以下の手順は管理者ユーザーで実行してください。
■ OracleDBの接続設定
あらかじめOracle instant clientをインストールしてください。
本項では、Oracle instant client 12.2をインストールした場合を例に説明します。 その他のバージョンを使用する場合は、各設定で使用するディレクトリーパスを該当するバージョンのものに置き換えてください。
(1)Oracleクライアントのパスを設定ファイル/etc/profile.d/griddata.shに追記します。
# echo 'export ORACLE_HOME=/usr/lib/oracle/12.2/client64/' >> /etc/profile.d/griddata.sh
# echo 'export PATH=/usr/lib/oracle/12.2/client64/bin:$PATH' >> /etc/profile.d/griddata.sh
# echo 'export LD_LIBRARY_PATH=/usr/lib/oracle/12.2/client64/lib:$LD_LIBRARY_PATH' >> /etc/profile.d/griddata.sh
(2)Oracle instant client内のディレクトリーにシンボリックリンクを作成します。
# ln -s /usr/include/oracle/12.2/client64 /usr/lib/oracle/12.2/client64/include
(3)Jupyterを起動中の場合は、 Jupyterを再起動する の手順でJupyterを再起動します。
以上でOracleDBの設定は完了です。
■ PDF出力機能の設定
あらかじめtexliveの実行環境をインストールしてください。
本項では、texlive 2018をインストールした場合を例に説明します。 その他のバージョンを使用する場合は、設定で使用するディレクトリーパスを該当するバージョンのものに置き換えてください。
(1)texliveの実行環境のパスを設定ファイル/etc/profile.d/griddata.shに追記します。
# echo 'export PATH=/usr/local/texlive/2018/bin/x86_64-linux:$PATH' >> /etc/profile.d/griddata.sh
(2)Jupyterを起動中の場合は、 Jupyterを再起動する の手順でJupyterを再起動します。
以上でPDF出力機能の設定は完了です。
■ GridDB Sparkコネクターの設定
設定ファイル/home/griddata/griddata-core/griddb.propertiesに、GridDB APIで規定された接続用パラメーターを記述します。 各パラメーターの詳細はGridDB製品の『GridDB APIリファレンス』を参照してください。
以下はご購入時の設定内容です。
#host=
#port=
#notificationAddress=
#notificationPort=
#notificationMember=
#notificationProvider=
user=admin
password=admin
clusterName=
接続先のGridDBに関する情報と、GridDBのクラスター名 clusterName
を必ず指定してください。
接続先のGridDBに関する情報は、以下のいずれかを設定する必要があります。
host
+port
notificationAddress
+notificationPort
notificationMember
notificationProvider
Jupyterを起動中の場合は、設定変更後に Jupyterを再起動する の手順でJupyterを再起動します。
以上でGridDB Sparkコネクタの設定は完了です。
注釈
ホスト名がSERVER0~SERVER6ではない場合、以下の設定ファイルに記述されたホスト名を該当する名前に変更します。
- /home/griddata/griddata-core/hadoop/conf/hdfs-site.xml
- /home/griddata/griddata-core/hadoop/conf/slaves
- /home/griddata/griddata-core/hadoop/conf/hosts.include
- /home/griddata/griddata-core/hadoop/conf/yarn-site.xml
- /home/griddata/griddata-core/spark/conf/spark-defaults.conf
- /home/griddata/griddata-core/spark/conf/spark-env.sh
- /home/griddata/griddata-core/spark/conf/slaves
- /home/griddata/griddata-core/zookeeper/conf/zoo.cfg
- /home/griddata/griddata-core/hive/conf/hive-site.xml
HDFS、YARN、Spark、ZooKeeper、Hiveの設定ファイル内のパラメーターについては、 設定パラメーター一覧 を参照してください。
2.4. 動作確認¶
インストール完了後、http://<SERVER0のIP>:8000にアクセスし、Jupyterのログイン画面が表示されることを確認します。
もしログイン画面が表示されない場合は、 Jupyterを再起動する の手順でJupyterを再起動します。
(RHEL / CentOS6の場合)
# service jupyter restart
(RHEL / CentOS7の場合)
# systemctl restart jupyter
インストール直後の状態では、GridData Analyticsのユーザーはgriddataユーザーのみです。 他のユーザーを追加するには、 ユーザーを追加する の手順を実行してください。
2.5. ディレクトリー構成¶
GridData Analytics Serverをインストールすると、以下のディレクトリー構成になります。
注釈
ライブラリーについては、ディレクトリー構成の記載を省略します。
ディレクトリー | 作成されるファイル、ディレクトリー | 備考 |
---|---|---|
/etc/profile.d/ | griddata.sh | |
/home/griddata/ | .cache/ | |
.conda/ | ||
.jupyter/ | ||
.ipython/ | ||
.local/ | ||
.condarc | ||
/home/griddata/.ssh/ | authorized_keys | |
id_dsa | ||
id_dsa.pub | ||
known_hosts | ||
/home/griddata/analytics/ | anaconda3-5.2.0/ | |
anadonda/ | シンボリックリンク | |
cupy-4.2.0.zip | ||
jupyter.service | ||
libx/ | ||
mecab/ | ||
nltk_data/ | ||
setup_redhat6.sh | ||
setup_redhat7.sh | ||
setup_cupy.sh | ||
setup_scaleserver.sh | ||
function.sh | ||
user.sh | ||
distribute_sample.sh | ||
jupyter.sh | ||
jupyter.service | ||
/home/griddata/analytics/.jupyter/ | jupyterhub_config.py | |
/home/griddata/analytics/anaconda/share/jupyter/kernels/ | ir/ | |
pyspark_small/ | ||
pyspark_medium/ | ||
pyspark_large/ | ||
python3/ | ||
spylon-kernel/ | ||
/home/griddata/analytics/examples/ | sample_bokeh.ipynb | |
sample_chainer.ipynb | ||
sample_cupy+matplotlib.ipynb | ||
sample_flask.ipynb | ||
sample_gdac_nb.ipynb | ||
sample_gdac_svm.ipynb | ||
sample_griddb_python3.ipynb | ||
sample_hdfs.ipynb | ||
sample_ipywidget.ipynb | ||
sample_lifelines.ipynb | ||
sample_mecab.ipynb | ||
sample_nltk.ipynb | ||
sample_numpy+matplotlib.ipynb | ||
sample_pandas.ipynb | ||
sample_pyspark.ipynb | ||
sample_pyspark_python3.ipynb | ||
sample_r.ipynb | ||
sample_rdb.ipynb | ||
sample_scala.ipynb | ||
sample_scikit-image.ipynb | ||
sample_scikit-learn.ipynb | ||
sample_scipy.ipynb | ||
sample_seaborn.ipynb | ||
sample_statsmodels.ipynb | ||
sample_sympy.ipynb | ||
/home/griddata/analytics/examples/data/ | data_chainer_test.npz | |
data_chainer_train.npz | ||
data_gdac_nv_T10_banking.csv | ||
data_gdac_nv_T10_banking_test.csv | ||
data_gdac_svm_T11_sensor.csv | ||
data_gdac_svm_T11_sensor_train.csv | ||
data_lifelines.csv | ||
data_nltk.txt | ||
data_seaborn.csv | ||
/home/griddata/analytics/griddb/bin403/ | libgridstore.so | |
libgridstore.so.0 | ||
libgridstore.so.0.0.0 | ||
/home/griddata/analytics/anaconda/fonts/IPAfont/ | Readme_IPAexfont00301.txt | |
IPA_Font_License_Agreement_v1.0.txt | ||
ipaexg.ttf | ||
/home/griddata/analytics/libx | libICE.so.6 | |
libSM.so.6 | ||
libX11.so.6 | ||
libX11-xcb.so.1 | ||
libXau.so.6 | ||
libxcb-* | ||
libXext.so.6 | ||
libXrender.so.1 | ||
libXt.so.6 | ||
/home/griddata/analytics/mecab/usr/lib64/mecab/dic/ | ipadic/ | |
/home/griddata/griddata-core/adapters/griddb | gridstore-4.0.3.jar | |
gridstore-advanced-4.0.3.jar | ||
gridstore-jdbc-4.0.3.jar | ||
/home/griddata/griddata-core/adapters/spark | datasource.jar | |
/home/griddata/griddata-core/ | hadoop-2.7.6/ | |
hadoop/ | シンボリックリンク | |
spark-2.3.1-bin-hadoop2.7/ | ||
spark/ | シンボリックリンク | |
apache-hive-2.3.3-bin/ | ||
hive/ | シンボリックリンク | |
zookeeper-3.4.9/ | ||
zookeeper/ | シンボリックリンク | |
postgresql/ | ||
griddata.sh | ||
griddb.properties |