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

提供: 静岡大学 横山研究室
移動先: 案内検索
(SciDB-pyのインストール)
(SciDB-pyのインストール)
196行目: 196行目:
 
</pre>
 
</pre>
 
python2.6だとインストールできないため
 
python2.6だとインストールできないため
https://qiita.com/Hiroyama-Yutaka/items/8a52d54819a0923436a7 <br>
+
https://qiita.com/Hiroyama-Yutaka/items/8a52d54819a0923436a7
これを参考に2.7へバージョンアップさせる
+
これを参考に2.7へバージョンアップさせる<br>
 
pipが起動しないので
 
pipが起動しないので
 
https://qiita.com/suzuki_y/items/3261ffa9b67410803443
 
https://qiita.com/suzuki_y/items/3261ffa9b67410803443
 
これを参考に再インストールすることでscidb-pyがインストールできる
 
これを参考に再インストールすることでscidb-pyがインストールできる

2018年1月26日 (金) 09:03時点における版

SciDB

参考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がインストールできる

個人用ツール
名前空間

変種
案内
ツール