LoginSignup
4
3

More than 5 years have passed since last update.

Zookeeperでleader、followerのノードを確認する

Posted at

はじめに

ZooKeeperアンサンブルとは、奇数台数によるZookeeperサーバのまとまりのことである。

ZooKeeperアンサンブルでは、リーダー選出という機構が備わっており、全ての書き込み処理系は奇数台のアンサンブルの中から選出されるリーダーとなるサーバを通して処理される。そのリーダーが選出されるタイミングは以下の2つである。

  • 障害等によりリーダーに選出されているサーバが停止し、リーダーであることを放棄した時
  • Zookeeperサーバの起動時

leader、followerのノードを確認する

3台のZookeeperサーバを用いてアンサンブルを組んでいると想定する。以下の例では、Ubuntu 14.04を利用し、Zookeeperはaptリポジトリを用いている。3台のうち、zookeeper1のサーバがleaderに選出されていると想定する。以下のコマンドを実行することで各サーバがleaderなのかfollowerなのか確認できる。

zookeeper1
# /usr/share/zookeeper/bin/zkServer.sh status
JMX enabled by default
Using config: /etc/zookeeper/conf/zoo.cfg
Mode: leader
zookeeper2
# /usr/share/zookeeper/bin/zkServer.sh status
JMX enabled by default
Using config: /etc/zookeeper/conf/zoo.cfg
Mode: follower
zookeeper3
# /usr/share/zookeeper/bin/zkServer.sh status
JMX enabled by default
Using config: /etc/zookeeper/conf/zoo.cfg
Mode: follower

この状態でzookeeper1のプロセスを再起動する。

zookeeper1
# service zookeeper restart

再起動後、モードがleaderではなくfollowerに切り替わっている。

zookeeper1
# /usr/share/zookeeper/bin/zkServer.sh status
JMX enabled by default
Using config: /etc/zookeeper/conf/zoo.cfg
Mode: follower

その状態で、zookeeper2の状態を確認するとleaderに切り替わっていることが分かる。

zookeeper2
# /usr/share/zookeeper/bin/zkServer.sh status
JMX enabled by default
Using config: /etc/zookeeper/conf/zoo.cfg
Mode: leader
4
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
3