1.集群概述
概念:多个计算机共同做一件事,集群中计算机称为节点
特点:
1.可扩展性:性能不够了,新的服务体可以动态的添加到集群中,从而增强集群能力.
2.高可用:集群中一个节点出现故障,这个节点的应用程序,在其他的节点上自动运行.
能力:
1.负载均衡:就是把任务均匀的分不到集群环境的计算和网络资源,以提高数据吞下
2.错误恢复:一个节点出错,其他节点,代替工作
2.集群和分布式的区别
相同点:分布式和集群都需要很多的节点服务器,通过网络协同完成整体任务.
不同点:
分布式:是业务上的拆分,做不同的功能
集群:每个人(节点)干的活的是一样的(划船)
3.搭建zookeeper集群
了解Leader选举:(搭建奇数个,便于选出Leader)
如果三个节点:
1 2 3
解释:节点1 启动, 无响应 节点2启动,节点1投票给节点2,节点2投票给自己,这时候节点2就是leader ,节点三,启动时,节点2依然是跟随者
如果五个节点:
同上,节点3是leader ,4和5都是小弟
1.准备工作
(1)安装jdk
(2)上传zookeeper压缩包
(3)解压,创建data文件,将conf下zoo_sample.cfg 文件改为zoo.cfg
建立/usr/local/zookeeper-cluster目录,在里面创建zookeepr-1等三个
(4) 配置每一个 Zookeeper 的 dataDir(zoo.cfg) clientPort 分别为 2181 2182 2183修改/usr/local/zookeeper-cluster/zookeeper-1/conf/zoo.cfg
通过这个方法想data中myid输入1
2.配置集群
(1)向data的myid中输入内容为1,2,3记录每个服务器的id
echo 1 > myid
这个命令作为向文件中写入1 代表每个节点的服务
(2)集群服务器ip列表:
server.1=192.168.72.133:2881:3881
server.2=192.168.72.133:2882:3882
server.3=192.168.72.133:2883:3883
注意:我们再这可能在linux中修改比较麻烦,我们可以在editplus中远程连接linux
(1)在菜单选择 FTP Settings
(2)点击 ADD 按钮
(3)输入服务器信息
(4)点击高级选项按钮
(5)选择 SFTP 端口 22
(6)OK 。完成配置
连接:
3.启动测试
先查询第一个服务
没有启动
我们在启动第二服务
由此得出结论,3 个节点的集群,2 个从服务器都挂掉,主服务器也无法运行。因为可运行
的机器没有超过集群总数量的半数。
此时的节点一个为更随着
我们在启动第三个服务
如果第二个服务停止,查看第一个和第三个的状态
第一个同样为跟随者
由此我们得出结论,当集群中的主服务器挂了,集群中的其他服务器会自动进行选举状态,
然后产生新得 leader
我们在启动第二个服务,发现为状态为跟随者
由此我们得出结论,当领导者产生后,再次有新服务器加入集群,不会影响到现任领导者。