「マルチノードSciDBのインストール」の版間の差分

提供: 静岡大学 横山研究室
移動先: 案内検索
(SciDBをインストールするための準備)
 
(同じ利用者による、間の66版が非表示)
1行目: 1行目:
==SciDB==
+
=SciDB=
===参考URL===
+
現在18.1がリリースされCentOS7に対応
 +
https://paradigm4.github.io/scidblog/scidb-installation/
 +
16.9のインストールページにはアクセスできなくなりました.
 +
 
 +
 
 +
==参考URL==
 
https://paradigm4.atlassian.net/wiki/spaces/ESD169/pages/50856180/SciDB+Community+Edition+Installation+Guide
 
https://paradigm4.atlassian.net/wiki/spaces/ESD169/pages/50856180/SciDB+Community+Edition+Installation+Guide
 +
==SciDB導入==
 
===はじめに===
 
===はじめに===
 
SciDBはUbuntu12.04,14.04またはCentOS6にのみインストールすることができる.<br />
 
SciDBはUbuntu12.04,14.04またはCentOS6にのみインストールすることができる.<br />
今回はCentOS6へのインストールを行う.Ubuntuへのインストールは参考URLを見てほしい.<br />
+
今回はCentOS6へのインストールを行う.Ubuntuへのインストールは参考URLにて.<br />
 
また,今回はマシンを7台使用する.それぞれ以下のように固定IPを割り振っている.<br />
 
また,今回はマシンを7台使用する.それぞれ以下のように固定IPを割り振っている.<br />
Bell00:192.168.100.100<br />
+
<pre>/etc/hosts</pre>
Bell01:192.168.100.101<br />
+
<pre>
Bell02:192.168.100.102<br />
+
192.168.100.100 BELL00
Bell03:192.168.100.103<br />
+
192.168.100.101 BELL01
Bell04:192.168.100.104<br />
+
192.168.100.102 BELL02
Bell05:192.168.100.105<br />
+
192.168.100.103 BELL03
Bell06:192.168.100.106<br />
+
192.168.100.104 BELL04
 
+
192.168.100.105 BELL05
====SciDBインストール====
+
192.168.100.106 BELL06</pre>
 +
bell00をcoordinator,その他をworkerと呼ぶ.<br/>
 +
<user_name>はSciDB使用ユーザ名を入れる.<br/>
 +
<pre>usermod -G wheel <user_name></pre>
 
=====SciDBのダウンロード=====
 
=====SciDBのダウンロード=====
SciDB-Forum http://forum.paradigm4.com/ へアクセスし,アカウントを作成する.<br />
 
Software releases のカテゴリーをクリックし,SciDB Release 16.9のトピックへ進む.<br />
 
The source code and sample virtual machines can be downloaded hereのhereをクリックするとGoogleDriveへ遷移する.<br />
 
https://drive.google.com/drive/u/0/folders/0BzNaZtoQsmy2aGNoaV9Kdk5YZEE <br />
 
こちらからtgzファイルをダウンロードしておく.<br />
 
 
今回使用するのは最新版のscidb-16.9.5.24119eb.tgzである.<br />
 
今回使用するのは最新版のscidb-16.9.5.24119eb.tgzである.<br />
 +
<pre>
 +
FILE_ID=0Bx6-HAs-dV5CQjlZZDJpamY0dEk
 +
FILE_NAME=scidb-16.9.5.24119eb.tgz
 +
curl -sc /tmp/cookie "https://drive.google.com/uc?export=download&id=${FILE_ID}" > /dev/null
 +
CODE="$(awk '/_warning_/ {print $NF}' /tmp/cookie)" 
 +
curl -Lb /tmp/cookie "https://drive.google.com/uc?export=download&confirm=${CODE}&id=${FILE_ID}" -o ${FILE_NAME}
 +
</pre>
 +
 
=====SciDBをインストールするための準備=====
 
=====SciDBをインストールするための準備=====
ダウンロードしてきたファイルは
+
この準備はすべてのマシンにて行う.
*/home/user/scidb/scidbtrunkの中に置き,解凍する
+
ダウンロードしてきたファイルは/scidb/scidbtrunkの中に置き,解凍する.<br/>
<code>cd <dev_dir>; tar -xvzf <the_tarball></code><br/>
+
<pre>cd scidb/scidbtrunk; tar -xvzf scidb-16.9.5.24119eb.tgz</pre>
*ExpectとSSHパッケージをインストールする
+
ExpectとSSHパッケージをインストールする.<br/>
<code>sudo yum -y install expect openssh-server openssh</code><br/>
+
<pre>sudo yum -y install expect openssh-server openssh</pre>
 +
SSHサーバを起動する.<br/>
 +
サーバの状態は以下のコマンドで確認できる.<br/>
 +
<pre>sudo service sshd status </pre>
 +
サーバが停止していた場合起動させる.<br/>
 +
<pre>sudo chkconfig --add sshd
 +
sudo chkconfig sshd on
 +
sudo service sshd start </pre>
 +
サーバが起動していた場合再起動を行う.<br/>
 +
<pre>sudo service sshd restart</pre>
 +
全てのポートでSciDBとの通信を許可する.<br/>
 +
iptableを止める.<br/>
 +
<pre>sudo chkconfig --del iptables
 +
sudo chkconfig iptables off
 +
sudo service iptables stop</pre>
 +
SSHをパスワードなしに設定する.<br/>
 +
入力を要求される部分は全て入力せずにエンターを押す.
 +
<pre>
 +
cd ~
 +
ssh-keygen
 +
chmod 755 ~
 +
chmod 755 ~/.ssh
 +
</pre>
 +
その後,以下のコマンドを実行する.パスワードが要求されるため,rootとuserそれぞれのパスワードを入力する.
 +
<pre>
 +
cd scidb/scidbtrunk
 +
deployment/deploy.sh access root "" "" bell00 bell01 bell02 bell03 bell04 bell05 bell06
 +
deployment/deploy.sh access <user_name> "" "" bell00 bell01 bell02 bell03 bell04 bell05 bell06
 +
</pre>
 +
Buildするツールをインストールする.<br/>
 +
<pre>
 +
cd scidb/scidbtrunk
 +
deployment/deploy.sh prepare_toolchain bell00
 +
</pre>
 +
エラー対策のため以下のコマンドを実行する.<br/>
 +
文字コードの問題を解決する.<br/>
 +
<pre>
 +
sudo yum -y install python-pip.noarch
 +
sudo vi /usr/lib/python2.6/site-packages/sitecustomize.py
 +
</pre>
 +
以下を書き込んで保存.
 +
<pre>
 +
import sys
 +
sys.setdefaultencoding('utf-8')
 +
</pre>
 +
pythonを起動し,以下のコマンドでutf-8になっていることが確認できたら成功.<br/>
 +
<pre>
 +
$ python
 +
>>> import sys
 +
>>> sys.getdefaultencoding()
 +
'utf-8'
 +
</pre>
 +
また,rootでvisudoを実行し,以下を最後に追加する.<user_name>はユーザー名を入力.<br/>
 +
<pre>
 +
visudo
 +
<user_name> ALL=(ALL) NOPASSWD:ALL
 +
</pre>
 +
以上で以下のコマンドが問題なく実行できるはずである.
 +
<pre>
 +
cd scidb/scidbtrunk
 +
deployment/deploy.sh prepare_chroot <user_name> bell00
 +
</pre>
 +
Postgresをインストールする.<br/>
 +
<pre>
 +
cd scidb/scidbtrunk
 +
deployment/deploy.sh prepare_postgresql postgres postgres 192.168.100.100/24 bell00
 +
</pre>
 +
postgres userがSciDBにアクセスできるようにする.<br/>
 +
<pre>
 +
sudo usermod -G <user_name> -a postgres
 +
chmod g+rx scidb
 +
</pre>
 +
その後,次のコマンド実行しアクセスできるかを確認する.(scidbはディレクトリ)
 +
<pre>
 +
/usr/bin/sudo -u postgres ls scidb
 +
</pre>
 +
以上の操作を各マシンにおいて行う.(IPアドレス部分を変更する)<br/>
 +
 
 +
=====SciDBのインストール=====
 +
マルチノードSciDBのインストールを行う前にシングルノードのインストールを完了させる.<br/>
 +
この手順はホストマシンにて行う.
 +
======シングルノードインストール======
 +
以下のコマンドで.bashrcを開く.(iで挿入モード,Escでコマンドモード,:wqで保存して終了,:q!で保存せずに終了)
 +
<pre>
 +
cd ~
 +
vi .bashrc
 +
</pre>
 +
.bashrcに以下を書き込む<user_name>はユーザー名を入れる.
 +
<pre>
 +
export SCIDB_VER=16.9
 +
export SCIDB_INSTALL_PATH=/home/<user_name>/scidb/scidbtrunk/stage/install
 +
export SCIDB_BUILD_TYPE=Debug
 +
export PATH=$SCIDB_INSTALL_PATH/bin:$PATH
 +
</pre>
 +
sourceコマンドで変更を反映する.echoコマンドで確認ができる.
 +
<pre>
 +
source .bashrc
 +
echo $SCIDB_VER
 +
echo $SCIDB_INSTALL_PATH
 +
echo $PATH
 +
</pre>
 +
ここからはSciDBのビルドを行う.入力を求められる部分はyを入力する.
 +
<pre>
 +
cd scidb/scidbtrunk
 +
./run.py setup
 +
./run.py make -j4
 +
</pre>
 +
次のコマンドがエラー無く完了すればシングルノードのインストールは終了である.途中postgresのパスワードの入力が求められるがmydbと入力する.
 +
<pre>
 +
cd scidb/scidbtrunk
 +
./run.py install
 +
</pre>
 +
以下のコマンドを実行することでシングルノードでの動作確認が行える.
 +
<pre>
 +
scidb.py startall mydb
 +
iquery
 +
>exit;
 +
scidb.py stopall mydb
 +
</pre>
 +
 
 +
======マルチノードインストール======
 +
まず,SciDBのビルドを行う.<br/>
 +
<pre>
 +
cd scidb
 +
./scidbtrunk/deployment/deploy.sh build RelWithDebInfo /tmp/packages
 +
</pre>
 +
次にインストールを行う.<br/>
 +
あらかじめdbgパッケージを移動しておく.<br/>
 +
<pre>
 +
mkdir /tmp/dbg_packages
 +
mv /tmp/packages/*dbg* /tmp/dbg_packages
 +
</pre>
 +
パッケージのインストールを行う.<br/>
 +
<pre>
 +
cd scidb/scidbtrunk
 +
./deployment/deploy.sh scidb_install /tmp/packages bell00 bell01 bell02 bell03 bell04 bell05 bell06
 +
</pre>
 +
Scidb_prepareの設定を行う.7は1ホスト毎のインスタンス数.インスタンス数が動作にどう影響するかは不明であるため,数字は適当にしている.<br/>
 +
<pre>
 +
cd scidb/scidbtrunk
 +
./deployment/deploy.sh scidb_prepare <user_name> "" mydb mydb mydb /home/<user_name>/mydb-DB 7 default 1 default bell00 bell01 bell02 bell03 bell04 bell05 bell06
 +
</pre>
 +
エラーが発生しなかった場合、インストールは完了である.<br/>
 +
現状,coordinatorではシングルサーバーが立ち上がり,workerではマルチサーバーが立ち上がる.
 +
<pre>
 +
scidb.py stopall mydb #サーバ停止させる
 +
scidb.py startall mydb #起動コマンド
 +
iquery #プロンプト起動
 +
</pre>
 +
のコマンドでSciDBを操作することができる.
 +
 
 +
=====SciDBのアンインストール=====
 +
<pre>
 +
cd scidb/scidbtrunk
 +
deployment/deploy.sh scidb_remove /tmp/packages bell00 bell01 bell02 bell03 bell04 bell05 bell06
 +
</pre>
 +
=====SciDB-pyのインストール=====
 +
http://paradigm4.github.io/SciDB-Py/guide.html
 +
<pre>
 +
$ pip install scidb-py
 +
</pre>
 +
python2.6だとインストールできないため
 +
https://qiita.com/Hiroyama-Yutaka/items/8a52d54819a0923436a7
 +
これを参考に2.7へバージョンアップさせる<br>
 +
pipが起動しないので
 +
https://qiita.com/suzuki_y/items/3261ffa9b67410803443
 +
これを参考に再インストールすることでscidb-pyがインストールできる
 +
pandasのインストールに失敗する場合はhttps://teratail.com/questions/4839

2018年8月8日 (水) 15:33時点における最新版

SciDB

現在18.1がリリースされCentOS7に対応 https://paradigm4.github.io/scidblog/scidb-installation/ 16.9のインストールページにはアクセスできなくなりました.


参考URL

https://paradigm4.atlassian.net/wiki/spaces/ESD169/pages/50856180/SciDB+Community+Edition+Installation+Guide

SciDB導入

はじめに

SciDBはUbuntu12.04,14.04またはCentOS6にのみインストールすることができる.
今回はCentOS6へのインストールを行う.Ubuntuへのインストールは参考URLにて.
また,今回はマシンを7台使用する.それぞれ以下のように固定IPを割り振っている.

/etc/hosts
192.168.100.100 BELL00
192.168.100.101 BELL01
192.168.100.102 BELL02
192.168.100.103 BELL03
192.168.100.104 BELL04
192.168.100.105 BELL05
192.168.100.106 BELL06

bell00をcoordinator,その他をworkerと呼ぶ.
<user_name>はSciDB使用ユーザ名を入れる.

usermod -G wheel <user_name>
SciDBのダウンロード

今回使用するのは最新版のscidb-16.9.5.24119eb.tgzである.

FILE_ID=0Bx6-HAs-dV5CQjlZZDJpamY0dEk
FILE_NAME=scidb-16.9.5.24119eb.tgz
curl -sc /tmp/cookie "https://drive.google.com/uc?export=download&id=${FILE_ID}" > /dev/null
CODE="$(awk '/_warning_/ {print $NF}' /tmp/cookie)"  
curl -Lb /tmp/cookie "https://drive.google.com/uc?export=download&confirm=${CODE}&id=${FILE_ID}" -o ${FILE_NAME}
SciDBをインストールするための準備

この準備はすべてのマシンにて行う. ダウンロードしてきたファイルは/scidb/scidbtrunkの中に置き,解凍する.

cd scidb/scidbtrunk; tar -xvzf scidb-16.9.5.24119eb.tgz

ExpectとSSHパッケージをインストールする.

sudo yum -y install expect openssh-server openssh

SSHサーバを起動する.
サーバの状態は以下のコマンドで確認できる.

sudo service sshd status 

サーバが停止していた場合起動させる.

sudo chkconfig --add sshd
sudo chkconfig sshd on
sudo service sshd start 

サーバが起動していた場合再起動を行う.

sudo service sshd restart

全てのポートでSciDBとの通信を許可する.
iptableを止める.

sudo chkconfig --del iptables
sudo chkconfig iptables off
sudo service iptables stop

SSHをパスワードなしに設定する.
入力を要求される部分は全て入力せずにエンターを押す.

cd ~
ssh-keygen
chmod 755 ~
chmod 755 ~/.ssh

その後,以下のコマンドを実行する.パスワードが要求されるため,rootとuserそれぞれのパスワードを入力する.

cd scidb/scidbtrunk
deployment/deploy.sh access root "" "" bell00 bell01 bell02 bell03 bell04 bell05 bell06
deployment/deploy.sh access <user_name> "" "" bell00 bell01 bell02 bell03 bell04 bell05 bell06

Buildするツールをインストールする.

cd scidb/scidbtrunk
deployment/deploy.sh prepare_toolchain bell00

エラー対策のため以下のコマンドを実行する.
文字コードの問題を解決する.

sudo yum -y install python-pip.noarch
sudo vi /usr/lib/python2.6/site-packages/sitecustomize.py

以下を書き込んで保存.

import sys
sys.setdefaultencoding('utf-8')

pythonを起動し,以下のコマンドでutf-8になっていることが確認できたら成功.

$ python
>>> import sys
>>> sys.getdefaultencoding()
'utf-8'

また,rootでvisudoを実行し,以下を最後に追加する.<user_name>はユーザー名を入力.

visudo
<user_name> ALL=(ALL) NOPASSWD:ALL

以上で以下のコマンドが問題なく実行できるはずである.

cd scidb/scidbtrunk
deployment/deploy.sh prepare_chroot <user_name> bell00

Postgresをインストールする.

cd scidb/scidbtrunk
deployment/deploy.sh prepare_postgresql postgres postgres 192.168.100.100/24 bell00

postgres userがSciDBにアクセスできるようにする.

sudo usermod -G <user_name> -a postgres
chmod g+rx scidb

その後,次のコマンド実行しアクセスできるかを確認する.(scidbはディレクトリ)

/usr/bin/sudo -u postgres ls scidb 

以上の操作を各マシンにおいて行う.(IPアドレス部分を変更する)

SciDBのインストール

マルチノードSciDBのインストールを行う前にシングルノードのインストールを完了させる.
この手順はホストマシンにて行う.

シングルノードインストール

以下のコマンドで.bashrcを開く.(iで挿入モード,Escでコマンドモード,:wqで保存して終了,:q!で保存せずに終了)

cd ~
vi .bashrc

.bashrcに以下を書き込む<user_name>はユーザー名を入れる.

export SCIDB_VER=16.9
export SCIDB_INSTALL_PATH=/home/<user_name>/scidb/scidbtrunk/stage/install
export SCIDB_BUILD_TYPE=Debug
export PATH=$SCIDB_INSTALL_PATH/bin:$PATH

sourceコマンドで変更を反映する.echoコマンドで確認ができる.

source .bashrc
echo $SCIDB_VER
echo $SCIDB_INSTALL_PATH
echo $PATH

ここからはSciDBのビルドを行う.入力を求められる部分はyを入力する.

cd scidb/scidbtrunk
./run.py setup
./run.py make -j4

次のコマンドがエラー無く完了すればシングルノードのインストールは終了である.途中postgresのパスワードの入力が求められるがmydbと入力する.

cd scidb/scidbtrunk
./run.py install

以下のコマンドを実行することでシングルノードでの動作確認が行える.

scidb.py startall mydb
iquery
>exit;
scidb.py stopall mydb
マルチノードインストール

まず,SciDBのビルドを行う.

cd scidb
./scidbtrunk/deployment/deploy.sh build RelWithDebInfo /tmp/packages

次にインストールを行う.
あらかじめdbgパッケージを移動しておく.

mkdir /tmp/dbg_packages
mv /tmp/packages/*dbg* /tmp/dbg_packages

パッケージのインストールを行う.

cd scidb/scidbtrunk
./deployment/deploy.sh scidb_install /tmp/packages bell00 bell01 bell02 bell03 bell04 bell05 bell06

Scidb_prepareの設定を行う.7は1ホスト毎のインスタンス数.インスタンス数が動作にどう影響するかは不明であるため,数字は適当にしている.

cd scidb/scidbtrunk
./deployment/deploy.sh scidb_prepare <user_name> "" mydb mydb mydb /home/<user_name>/mydb-DB 7 default 1 default bell00 bell01 bell02 bell03 bell04 bell05 bell06

エラーが発生しなかった場合、インストールは完了である.
現状,coordinatorではシングルサーバーが立ち上がり,workerではマルチサーバーが立ち上がる.

scidb.py stopall mydb #サーバ停止させる
scidb.py startall mydb #起動コマンド
iquery #プロンプト起動

のコマンドでSciDBを操作することができる.

SciDBのアンインストール
cd scidb/scidbtrunk
deployment/deploy.sh scidb_remove /tmp/packages bell00 bell01 bell02 bell03 bell04 bell05 bell06
SciDB-pyのインストール

http://paradigm4.github.io/SciDB-Py/guide.html

$ pip install scidb-py

python2.6だとインストールできないため https://qiita.com/Hiroyama-Yutaka/items/8a52d54819a0923436a7 これを参考に2.7へバージョンアップさせる
pipが起動しないので https://qiita.com/suzuki_y/items/3261ffa9b67410803443 これを参考に再インストールすることでscidb-pyがインストールできる pandasのインストールに失敗する場合はhttps://teratail.com/questions/4839

個人用ツール
名前空間

変種
案内
ツール