serf

serfについて調べたこと・試したことのまとめ

More than 3 years have passed since last update.

自分のブログに書いたことを順番にまとめる.


serfの基本的な動作を試してみた

url: http://blog.hifumi.info/2014/07/23/try-serf-clustering/

serfのことが何も分からなかったので,アレコレと試した作業記録のようなものを雑多に書いている.

provisionをほんのちょっとだけ工夫して,vagrant up --provisionでひと通りの道具が揃うようにした.

$script = <<SCRIPT

[ -f /usr/local/src/serf.zip ] || wget -q https://dl.bintray.com/mitchellh/serf/0.6.3_linux_amd64.zip -O /usr/local/src/serf.zip
[ -f /usr/local/bin/serf ] || unzip /usr/local/src/serf.zip -d /usr/local/bin

mkdir -p /etc/serf/conf.d
cat<<EOS >/etc/serf/conf.d/config.json
{
"interface": "eth1",
"discover": "serftest",
"encrypt_key": "TywlF+RXm2mHDIUqwCl8/w==",
"enable_syslog": true
}
EOS
SCRIPT

Vagrant.configure("2") do |config|
config.vm.box = "hfm4/centos6"
config.vm.provision :shell, inline: $script

config.vm.define :one do |c|
c.vm.hostname = "one.dev"
c.vm.network :private_network, ip: "192.168.128.2"
end

config.vm.define :two do |c|
c.vm.hostname = "two.dev"
c.vm.network :private_network, ip: "192.168.128.3"
end
end

単純にクラスタリングする方法とiptablesでポートを開けるために,何番ポートを使っているかを調べたりした.


serf-hostsを試してみた

url: http://blog.hifumi.info/2014/07/27/try-serf-hosts/

あんちぽさんの書いたserf-hostsを試してみた.

動画を撮ってみたかったので,QuickCastを使って撮影してみた.

https://www.youtube.com/watch?v=xUpuI3aqVjc


Perl版serf-muninを書いた

url: http://blog.hifumi.info/2014/08/11/serf-munin-written-perl/

色々検証したりしていく内に,自分でも書いてみたくなったのでPerl版のserf-muninを書いてみた.

自分でイベントハンドラを書いてみると,serfの挙動が色々分かった.

車輪の再発明に過ぎないけど,手を動かすの大事だなーと感じる.


serfのイベントハンドラを書く時にハマったこと

url: http://blog.hifumi.info/2014/08/11/serf-event-handler-tips/

当初はserfがバッファリング機能を持っていると気づかなかったこともあって,色々ハマったりした.

その辺りのハマりどころについてちょっと書いた.