选举模式和ZooKeeper的集群安装
5-1 集群的基本概念
- zk集群,主从节点,心跳机制(选举模式)
XX:Maste是主节点,下面两个yy:Slave是两个从节点,这样就形成了主从节点,主从节点有心跳机制,当某个节点挂了之后,是没有关系的,整个集群还是可以工作的。
**选举模式:**当Maste节点挂了之后,从节点就开始竞争投票选取Maste,谁得的票数多,谁就会选举为Maste
当xx节点恢复正常之后,再次加入到集群,该节点不会因为曾经是Maste,而进入集群是成为Maste,而是成为Slave(从)节点
因为有选举机制,所以zookeeper集群最少需要有3个节点,一般集群为奇数,如果达到7台,证明这个企业还是挺大的
zookeeper集群搭建注意点
- 配置数据文件 myid 1/2/3 对应 server.1/2/3
- 通过 ./zkCli.sh -server [ip]:[port] 检测集群是否配置成功
5-2 单机伪分布式安装zookeeper集群
伪分布式集群:单机搭建的zookeeper集群,ip相同,但端口号不同,一旦主机挂了之后,则集群中的所有的节点都会挂了,所以叫做伪分布式集群
目的:在单机上搭建3台zk集群
1 复制两份zookeeper到当前文件夹:
2 进入zookeeper/conf目录下,vim 修改配置文件
/usr/local/zookeeper/conf/zoo.cnf修改的文件如下:
添加如下内容:
server.1=192.168.1.11:2888:3888
server.2=192.168.1.11:2889:3889
server.3=192.168.1.11:2890:3890
修改完后,按Esc键,输入命令**:wq**保存退出
3 进入/zookeeper/dataDir,创建myid文件,文件内容为:1
以相同方式,进入/usr/local/zookeeper02/
1 修改conf/zoo.cnf文件
添加如下内容:
server.1=192.168.1.11:2888:3888
server.2=192.168.1.11:2889:3889
server.3=192.168.1.11:2890:3890
修改
dataDir=/usr/local/zookeeper02/dataDir
dataLogDir=/usr/local/zookeeper02/dataLogDir
clientPort=2182
2 在dataDir目录下创建myid,文件内容是:2
以相同方式,进入/usr/local/zookeeper03/
1 修改conf/zoo.cnf文件
添加如下内容:
server.1=192.168.1.11:2888:3888
server.2=192.168.1.11:2889:3889
server.3=192.168.1.11:2890:3890
修改
dataDir=/usr/local/zookeeper03/dataDir
dataLogDir=/usr/local/zookeeper03/dataLogDir
clientPort=2183
2 在dataDir目录下创建myid,文件内容是:3
启动zookeeper集群
测试:在2181上创建一个节点,是否可以同步到2182与2183上
使用zkCli.sh连接2181客户端:zkCli.sh -server 192.168.1.11:2181
Ctrl+C快捷键退出,使用zkCli.sh连接2182客户端:zkCli.sh -server 192.168.1.11:2182
如下,data节点数据已经同步到2182、2183节点机上