Zooeeper集群搭建
随着微服务的出现的,需要一个注册中心,注册微服务。
hadoop黄色大象毛绒玩具叫做Hadoop
• Zookeeper 可以被用作注册中心。
• Zookeeper 是 Hadoop 生态系统的一员。
• 构建 Zookeeper 集群的时候,使用的服务器最好是奇数台。
这可能是把ZooKeeper概念讲的最清楚的一篇文章
相信大家对 ZooKeeper 应该不算陌生,但是你真的了解 ZooKeeper 是什么吗?如果别人/面试官让你讲讲 ZooKeeper 是什么,你能回答到哪个地步呢?
ZooKeeper 作为 Dubbo 的注册中心,另外在搭建 Solr 集群的时候, ZooKeeper 也可作为 Solr 集群的管理工具。
• Zookeeper 可以被用作注册中心。
• Zookeeper 是 Hadoop 生态系统的一员。
• 构建 Zookeeper 集群的时候,使用的服务器最好是奇数台。(表决机制)
可见,我对于 Zookeeper 的理解仅仅是停留在了表面。所以,通过本文,希望带大家稍微详细的了解一下 ZooKeeper 。
如果没有学过 ZooKeeper,那么本文将会是你进入 ZooKeeper 大门的垫脚砖;如果你已经接触过 ZooKeeper ,那么本文将带你回顾一下 ZooKeeper 的一些基础概念。
最后,本文只涉及 ZooKeeper 的一些概念,并不涉及 ZooKeeper 的使用以及 ZooKeeper 集群的搭建。
网上有介绍 ZooKeeper 的使用以及搭建 ZooKeeper 集群的文章,大家有需要可以自行查阅。
什么是 ZooKeeper
ZooKeeper 的由来
下面这段内容摘自《从 Paxos 到 ZooKeeper 》第四章第一节的某段内容,推荐大家阅读一下:
Zookeeper 最早起源于雅虎研究院的一个研究小组。在当时,研究人员发现,在雅虎内部很多大型系统基本都需要依赖一个类似的系统来进行分布式协调,但是这些系统往往都存在分布式单点问题。
所以,雅虎的开发人员就试图开发一个通用的无单点问题的分布式协调框架,以便让开发人员将精力集中在处理业务逻辑上。
关于“ZooKeeper”这个项目的名字,其实也有一段趣闻。在立项初期,考虑到之前内部很多项目都是使用动物的名字来命名的(例如著名的Pig项目),雅虎的工程师希望给这个项目也取一个动物的名字。
时任研究院的首席科学家 Raghu Ramakrishnan 开玩笑地说:“在这样下去,我们这儿就变成动物园了!”
此话一出,大家纷纷表示就叫动物园管理员吧,因为各个以动物命名的分布式组件放在一起,雅虎的整个分布式系统看上去就像一个大型的动物园了。
而 Zookeeper 正好要用来进行分布式环境的协调,于是,Zookeeper 的名字也就由此诞生了。
分布式最终一致性--》奇数台,表决机制。
CAP原则又称CAP定理,指的是在一个分布式系统中,Consistency(一致性)、 Availability(可用性)、Partition tolerance(分区容错性),三者不可兼得。分布式系统的CAP理论:理论首先把分布式系统中的三个特性进行了如下归纳:
● 一致性(C):在分布式系统中的所有数据备份,在同一时刻是否同样的值。(等同于所有节点访问同一份最新的数据副本)
● 可用性(A):在集群中一部分节点故障后,集群整体是否还能响应客户端的读写请求。(对数据更新具备高可用性)
● 分区容错性(P):以实际效果而言,分区相当于对通信的时限要求。系统如果不能在时限内达成数据一致性,就意味着发生了分区的情况,必须就当前操作在C和A之间做出选择。
1. 使用XFTP将Zookeeper的压缩包,上传到虚拟机,如果你不能传过去可以上传到
你自己的目录(例如/home/soft)
2. 进到/usr/local/并解压之:
tar -xzvf zookeeper-3.4.10.tar.gz
ll查看,
删除原来的压缩包
rm -rf zookeeper-3.4.10.tar.gz
3. 配置ZK_HOME,进到/etc/profile文件
如果用Tab键出来后面的,表示可以成功了。
4. 增加data和logs的目录
在data下,增加myid
5. 进到conf下,修改模板文件名
将模板文件改名:
6. 进入到zoo.cfg,并修改
使用dd命令在一般模式下,删除无用的数据,需要修改之,看红图框框。
7. 将zookeeper拷贝其他机器slave1和slave2,以后的slaveN都可以
同样需要配置slave1,slave2的ZK_HOME,并且修改data下的myid文件,2 3分别对应你自己的zoo.cfg,上server后的数字.
8. 启动zookeeper服务器和客户端
zkServer.sh start 启动
9. 查看jps
10. 查看状态
11. 连接zkCli,不指定就是连接到默认的主机上(localhost或本机)
退出连接
可以看到连接到其他主机了
12. 连接命令
可以看到连接到了master主机
13. 创建新节点命令
使用get /name 来获取其信息
14. 临时节点
退出再次进入,查看,发现临时节点没有了
15. 创建序号节点
16. 修改节点的值
17. 删除节点
- 点赞
- 收藏
- 关注作者
评论(0)