Twitterに投稿 はてなブックマークに追加 Yahoo!ブックマークに追加 Google Bookmarksに追加

目次 >> AWS >> cfnclusterのその他の設定

cfnclusterのその他の設定

その他のオプション

maintain_initial_size

maintain_initial_sizeはinitial_queue_sizeで指定された計算ノード数を維持するかどうかを決める。
デフォルトではfalseであり、クラスターがアイドル状態だと計算ノード数が最終的にすべて削除される。

maintain_initial_size = false

これをtureにしておくと、どんなにアイドル状態が続いても、initial_queue_size以下にはならない。リザーブドインスタンスなどを利用している場合は、このオプションをtrueにしておくと、ジョブ投入後、ノードの起動を待たずに実行することができる。

master_root_volume_size

マスターノードのディスクのサイズである。デフォルトでは15GB(1.3.1より前のバージョンでは10GB)である。
8GBでも立ち上がるが、データを格納したり、アプリケーションをインストールすることを考えると最低でも10GBはほしいところである。
大きくすれば、その分価格に跳ね返ってくる。ただし、ディスクの価格はCPUの価格と比べると微々たるものである。
また、多数のノードを立ち上げるとgangliaが意外なほど容量を使う(数GB)場合があるので、注意が必要である。100ノード程度立ち上げる場合は、最低でも30GBは用意しておいたほうが良い。

master_root_volume_size = 50

compute_root_volume_size

計算ノードのディスクサイズである。デフォルトでは10GBである。
8GBでも立ち上がる。ディスクの読み書きをローカルディスクにするプログラムを走らせる場合、大きくする必要がある。
計算ノードは数が多い分、値を大きくすれば、価格に大きく跳ね返ってくるので注意。
ローカルディスクに書き込みが必要な場合、RAMディスク(/dev/shm/)を利用することも検討すべきである。

compute_root_volume_size = 10

[ebs custom]

この項目は、/sharedでマウントされるボリュームの設定である。
volume_sizeで、サイズを設定する。デフォルトでは20GBである。

[ebs custom]
volume_size = 20

/sharedは複数のユーザーで共有できるディレクトリであるが、不要な場合も多い(各ユーザーのホームディレクトリの容量はmaster_root_volume_sizeで決まる)。
サイズを0にしてもデフォルトの大きさで作成されてしまうので、不要な場合は下記のようにして削除し、料金がかからないようにする。

まず、/etc/fstabファイルをviで編集する。

sudo vi /etc/fstab
#
LABEL=/     /           ext4    defaults,noatime  1   1
tmpfs       /dev/shm    tmpfs   defaults        0   0
devpts      /dev/pts    devpts  gid=5,mode=620  0   0
sysfs       /sys        sysfs   defaults        0   0
proc        /proc       proc    defaults        0   0
/dev/disk/by-ebs-volumeid/vol-1a0fcd97 /shared ext4 _netdev 0 0

このようになっていると思うので、最後の行を削除し、

#
LABEL=/     /           ext4    defaults,noatime  1   1
tmpfs       /dev/shm    tmpfs   defaults        0   0
devpts      /dev/pts    devpts  gid=5,mode=620  0   0
sysfs       /sys        sysfs   defaults        0   0
proc        /proc       proc    defaults        0   0

のようにして、再起動する。

あとはEC2 Management Consoleから該当ボリュームをデタッチして削除すればよい。(削除作業を忘れると、料金がかかり続けるので注意)

[scaling custom]

cfnclusterはジョブのキューの長さによって、ノードの数を自動的に増減させる。
Auto Scaling増減の基準を設定するのがこの項目である。
scaling_cooldownは増減動作が行われてから、次に増減動作を行うまでの間隔を設定する。
デフォルトでは300秒、すなわり5分なのであるが、この数値は少し短すぎるようで、1つ増やしたものの、立ち上がりに5分前後かかり、キューには1つしか待ちがないのに2つノードが起動してしまう場合がしばしばおこる
倍の600秒前後に設定すればこのような問題は起きないようである。

[scaling custom]
scaling_cooldown = 600

ユーザーの作成

ec2-user以外でクラスターを利用したい場合(例えば複数人で使う場合など)、ユーザーを追加する必要がある。マスターノードで、いわゆるUnixの通常の方法で追加しただけでは、計算ノード上にユーザーが存在しないのでうまくいかない。

やりかたは、まず、additionalsetting.shというテキストファイルを用意して、中身を

sudo useradd -m -d /home/foo foo
sudo useradd -m -d /home/boo boo
sudo useradd -m -d /home/hoge hoge

のように書く。foo、boo、hogeは実際のユーザー名にする。改行コード(LFにする)に注意する。そしてこのadditionalsetting.shをS3にアップロードして、公開設定(public)にする。

あとは、configファイルに

post_install = https://hogehogehoge.s3.amazonaws.com/additionalsetting.sh

と設定して、クラスターを起動すればよい。

必要なソフトウェアをインストールする

コンパイラ

GCCはあらかじめインストールされているので、C言語で書かれたソースファイルなどはすぐにコンパイルして実行することができる。

もし、最新版のGCCを独自にコンパイルしてインストールしたい場合は、こちらを参照してください。

ImageMagick

静止画を変換するImageMagickはマスターノードで使用する場合は

$ sudo yum install ImageMagick

でインストールできる。
しかし、これは、計算ノードからは使えない。計算ノードから使用する場合は、下記のFFmpeg同様、独自にコンパイルして、${HOME}/binなどに置いて、パスを通しておく必要がある。

下記のスクリプトを実行すると、

wget https://www.imagemagick.org/download/releases/ImageMagick-7.0.5-7.tar.xz
tar xvJf ImageMagick-7.0.5-7.tar.xz
cd ImageMagick-7.0.5-7
./configure --prefix=${HOME}/bin --disable-shared --enable-delegate-build
make
make install
cp -p ${HOME}/bin/bin/convert ${HOME}/bin/

${HOME}/binにconvertが作成される。${HOME}/bin以下にもいくつかディレクトリが作成されるがそれらは削除してはいけない。

ffmpeg

動画のエンコードには、ffmpegが便利であるが、yumコマンドではインストールできない。
独自にコンパイルして、インストールする必要がある。やり方はこちら


最終更新日


本文中のFC4はFedora ProjectのFedora Core 4を、FC5はFedora Core 5を、FC6はFedora Core 6をopenSUSEはNovellのSUSE Linux OSSを表します。Fedora7以降は、単にFedora7、Fedora8、Fedora9、Fedora10、Fedora11、Fedora12、Fedora13、Fedora14、Fedora15と表示しています。Ubuntuは、必要に応じて17.04、18.04のようにバージョン番号をつけて区別しています。

ここに登場するドメイン名やIPアドレスなどはフィクションです。実在の人物・団体等とは一切関係がありません。
実際に使用する際は、各自の環境に合わせて書き換えてください。
もし何か間違いなどありましたらこちらからご連絡ください
リンクに許可は不要です。
Copyright (C) 2014 Chikuma Engineering Co., Ltd. All Rights Reserved.