Skip to content

Instantly share code, notes, and snippets.

@suma

suma/zk.md Secret

Created November 14, 2012 07:45
Show Gist options
  • Save suma/130ee4ad0706c5fe4e67 to your computer and use it in GitHub Desktop.
Save suma/130ee4ad0706c5fe4e67 to your computer and use it in GitHub Desktop.
ZKで聞きたいことまとめ

#ZKで聞きたいことまとめ

  • C client-library (MT) で、ZK expireしたときどうするとよいのか。ベストプラクティスを知りたい

  • init_zookeeperしたハンドルを削除して、再度作り直して接続しにいくのは正しいか?(Mesosの実装)

  • init_zookeeperしたハンドルをそのまま活用するのが正しいのか?(ライブラリ内部でリトライしている件)

  • ZKクラスタが側でmaster election中、クライアントでexpireが発生することもあるようだが、そういうときも上と同じ方法で処理してよいか

  • メンバシップ管理(障害検出器として)の使い方

  • 目的:グループにプロセスを登録する。各プロセスは、登録されているプロセス一覧を取得できる

  • ZKにはephmeralノードの作成でOK?

  • IP/portの登録は、ファイル名に"ip_port"とするのは良い方法なのか

  • ファイル内にip_portを記述するのは良い方法なのか

  • メモ

  • 質問する前に読むとよい文献

  • http://wiki.apache.org/hadoop/ZooKeeper/FAQ

@oza
Copy link

oza commented Nov 22, 2012

C client-library (MT) で、ZK expireしたときどうするとよいのか。ベストプラクティスを知りたい

C のライブラリ使ったことないので不明です.ZooKeeper の ML で質問するのが早そう.

・メンバシップ管理(障害検出器として)の使い方
ZKにはephmeralノードの作成でOK?
IP/portの登録は、ファイル名に"ip_port"とするのは良い方法なのか
ファイル内にip_portを記述するのは良い方法なのか

ちょっと誤っている.

  1. 最初に参加したノードが,親 Node を作成(/zk_clients とする)
  2. Ephemeral かつ Sequence な Node を親 Node の下に作成(/zk_clients/cli-).
  3. 親ノードに(/zk_clients) に watch フラグをつけて getChildren する.
  4. 変更が加わったら,3. のコールバックが呼ばれるので,事後処理を行う.

というのが簡単かつ動作するやり方だと思う.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment