buildoutでつくったZEOに接続できない
サーバA上にbuildoutをつかってzeocluster環境を作成。zeo回りのbuildout.cfg中の設定はこんな感じでした。
# ZEO Server zeo-address = 172.0.0.1:8300
localhost:8300で作成と。
サーバA上に環境を作成してから、サーバBでもzeoclusterを作成。サーバAとサーバBは同一セグメント上のアドレスをもっていて、それぞれのアドレスは
アドレス | |
---|---|
サーバA | 192.168.130.1 |
サーバB | 192.168.130.2 |
となっています。
そこでサーバBでのbuildout.cfgでの設定は以下のとおりとしました。
# ZEO Server #zeo-address = 127.0.0.1:8300 zeo-address = 192.168.130.1:8300
これでbuildout。さて立ち上げるかとやってみたところ、サーバBでインスタンスが立ち上がりません。
クラスタ上のインスタンスでzopectl fgであげてみると、こんなエラーがでていました。
2011-12-21 11:44:00 WARNING ZEO.zrpc (23071) CW: error connecting to ('192.168.130.1', 8100): ECONNREFUSED
ZEOに接続できないと。ZEOの方のログをみても、確かに接続されたような形跡はなし。アドレスはあってるし、ZEO側のアクセスコントロールできるような機能なんかあったかな。
さては、ZEO側のアドレスがlocalhost(127.0.0.1)なのがいけないのか。サーバBのbuildout.cfgの設定を変更。
# ZEO Server #zeo-address = 192.168.130.1:8300
再buildoutして、サーバB上でクライアントを立ち上げ。
2011-12-21 09:57:32 INFO ZEO.cache created temporary cache file '<fdopen>' 2011-12-21 09:57:32 INFO ZEO.ClientStorage (25076) Testing connection <ManagedClientConnection ('192.168.130.1', 8300)> 2011-12-21 09:57:32 INFO ZEO.zrpc.Connection(C) (192.168.130.1:8300) received handshake 'Z308' 2011-12-21 09:57:32 INFO ZEO.ClientStorage (25076) Server authentication protocol None 2011-12-21 09:57:32 INFO ZEO.ClientStorage (25076) Connected to storage: ('192.168.130.1', 8300) 2011-12-21 09:57:32 INFO ZEO.ClientStorage (25076) Verifying cache 2011-12-21 09:57:32 INFO ZEO.ClientStorage (25076) endVerify finishing 2011-12-21 09:57:32 INFO ZEO.ClientStorage (25076) endVerify finished
おっと、つながりましたね。
ということで、ZEOのアドレス指定には気をつけましょうというお話でした。