雑文発散

«前の日記(2014-11-19) 最新 次の日記(2014-11-21)» 編集
過去の日記

2014-11-20 [長年日記]

[Vagrant][Chef] Vagrant で複数台の Elasticsearch サーバを立ててみた

Elasticsearch 用のレシピを書いたりしつつ、Vagrantfile で2台分の VM を立てる設定を書いてみた。

template の elasticsearch.yml.erb の中身は、パッケージに含まれている設定ファイルから下記の部分をテンプレート化しただけ。

cluster.name: <%= node['elasticsearch']['cluster_name'] %>
node.name: <%= node['elasticsearch']['node_name'] %>

Vagrantfile の中身はこんな感じにしてみた。

これで es1 と es2 という VM ができた。ただ、最初に vagrant up したときに、es2 の途中で動きが止まったように見えて、インストール途中で失敗した様子。

vagrant ssh でのログインはできたので、VM の中身を見てみたら、Elasticsearch のパッケージインストールはできていなかった。もう一度 vagrant up してみたら es2 の方へもインストールされ、起動もしてくれた。

まだこれだと Vagrantfile か Chef のレシピに問題があるのかなぁ。。。

この方法だと、es1 と es2 がシリアルに作成され、それぞれが外部サーバから apt-get install しているので、VM のインストールは正直かなり遅い。まぁ、初期インストールが済んでしまえば、次からはそれほど時間もかからないので、こういうものなのかな。

100台の VM を立ち上げる!とかの世界であれば、別のソリューションを考えたほうが良さそうなのは分かった。

あと、この設定だけだと、Elasticsearch がうまくクラスタ化できてない様子。es1 と es2 がそれぞれ master になってしまっている。クラスタ名は同じになっているので、ネットワーク設定がダメなんだな。

今日は時間切れなので明日にでも。

本日のツッコミ(全2件) [ツッコミを入れる]
masutaka (2014-11-25 23:52)

VMに限った話であれば、vagrant cachier pluginは良いかもしれません。<br>http://www.1x1.jp/blog/2014/09/vagrant-cachier-plugin.html<br>2台目からのapt-get installが早くなります。

すずき (2014-12-08 07:46)

おー、なるほど、ありがとうございます!