Zookeeper是什么
ZooKeeper 翻译一下就是 “动物园管理员”,他是一些管动物的管理员,关于他的名字来源给你们找来了,可以看看。
如果用官方的说法就是ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务。它是一个为分布式应用提供一致性服务的软件.
ZooKeeper集群的角色
ZooKeeper提供服务时,是需要通过集群来实现,ZooKeeper集群中有一个leader,多个follower角色,其中leader提供写服务,follower提供读服务。
角色分类如下图所示:
系统模型如图所示:
下图这个就是我们实操最后会出现的结果:
-
[root@zookeeper1 bin]# ./zkServer.sh status
-
ZooKeeper JMX enabled by default
-
Using config: /root/zookeeper-3.4.14/bin/../conf/zoo.cfg
-
Mode: follower
-
[root@zookeeper2 bin]# ./zkServer.sh status
-
ZooKeeper JMX enabled by default
-
Using config: /root/zookeeper-3.4.14/bin/../conf/zoo.cfg
-
Mode: leader
-
[root@zookeeper3 bin]# ./zkServer.sh status
-
ZooKeeper JMX enabled by default
-
Using config: /root/zookeeper-3.4.14/bin/../conf/zoo.cfg
-
Mode: follower
再简单说一下我理解的zookeeper Leader的选举
就好比:我们每个参加的人发出一个投票投给自己,然后我们接受来自每个人的投票,统计一下,看一下是否是有效的投票,针对每一个投票,我们都需要将别人的投票和自己的投票进行PK,如果最后票数相同的话,谁先发起的投票就把leader给谁。
Zookeeper的作用
1.Zookeeper实现了高性能,高可靠性,和有序的访问。
2.加强了集群稳定性。
3.等等。
Kafka是什么
Kafka是分布式发布-订阅消息系统。
kafka集群存储的消息是以topic为类别记录的
Kafka是一种快速、可扩展的、设计内在就是分布式的,分区的和可复制的提交日志服务。
实验总结
实验的目的就是在一台机子上创建文件,虽然在一台机子上创建的文件,但是其他有关联的两台机子也可以查看到消息,例如如下:
-
[root@zookeeper1 bin]# ./kafka-topics.sh --create --zookeeper 192.168.200.11:2181 --replication-factor 1 --partitions 1 --topic test
-
Created topic "test".
-
[root@zookeeper2 bin]# ./kafka-topics.sh --list --zookeeper 192.168.200.12:2181
-
Test
-
[root@zookeeper3 bin]# ./kafka-topics.sh --list --zookeeper 192.168.200.13:2181
-
test
我们在做的时候每一个节点进入 kafka_2.11-1.1.1/config目录下,编辑server.properties 文件。
我觉得这个是这次做kafka实验比较重要的点,要理解文件里的命令的含义。
参考图片:百度 ,文档
参考博客: zookeeper+kafka工作原理 - 张小爽 - 博客园 (cnblogs.com)
目录
Zookeeper是什么
ZooKeeper集群的角色
再简单说一下我理解的zookeeper Leader的选举
Zookeeper的作用
Kafka是什么
实验总结