zookeeper-Observer
Observer是⼀种ZooKeeper节点,Observer不參与投票,仅仅是简单的接收投票结果。因此我们添加再多的Observer,也不会影响集群的写性能。除了这个区别,其它的和Follower基本上全然⼀样。⽐如:Client都能够连接到他们,⽽且都能够发送读写请求给他们,收到写请求都会上报到Leader。Observer有另外⼀个优势,由于它不參与投票,所以他们不属于ZooKeeper集群的关键部位,即使他们Failed,或者从集群中断开,也不会影响集群的可⽤性。部署observer是作为异地的容灾备份⽅案,需要注意的是,该⽅案只提供元数据实时备份能⼒,⽤于应对预制区数据全部丢失极端情况下元数据的恢复。需要注意的是,observer节点zk需要异地机房部署,建议⾄少部署2个observer节点,observer节点与正常zk节点间⽹络互通。
1、停止原有的集群所有节点。
2、复制⻉正常zk节点程序部署⽬录到observer节点所在机器上
3、修改配置文件
在所有Server的配置⽂件($ZOOKEEPER_HOME/conf/zoo.cfg)中, 配置成Observer模式的server的那⾏配置追加:observer,例
server.4=xx.xx.xx.xx:2888:3888:observer
4、修改observer节点主机的myid文件echo 4 > /data/zookeeper4/myid
5、启动集群,查看⽇志启动成功表示配置完成。
⽇志中会显示节点状态,observer节点状态为observing