zookeeper的简介和安装方法
本篇内容介绍了"zookeeper的简介和安装方法"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
一、zookeeper介绍
直接翻译官网的What is zookeeper。
Zookeeper是一个关于 配置信息,命名,提供分布式同步和集群service的一站式服务。所有的这些服务或者(他们)别的表现形式经常在应用于分布式系统中。每一次去实现他们,都不可避免的花费大量的工作去修复bugs和(调整)竞争条件。因为实现这类服务很难,所以在一开始就要谨慎的对待他们。否则他们将变得很脆弱和难以管理! 即使正确的完成了,这些服务的不同实现,仍然可能导致部署后维护的复杂性。
我的水平只能翻译成这样了,原文比较古怪。
原文地址:http://zookeeper.apache.org/
二、配置和安装
点击这里下载安装包,我采用的是最新的3.4.6,是一个stable版本。
安装方式采取伪分布式部署。即在同一台机器上部署多个节点。安装过程比较简单。多台机器也同理。
1.把下载下来的安装包放在/opt/shencl/zookeeper/目录下,tar -zxvf 解压,改名 zookeeper-3.4.6_0。
2. 复制一份zoo_sample.cfg,命名为zoo.cfg。编辑zoo.cfg,我们准备部署3个节点,所以加入如下配置,
tickTime=2000
initLimit=5
syncLimit=2
dataDir=/opt/shencl/zookeeper/data/data0
dataLogDir=/opt/shencl/zookeeper/log/log0
clientPort=2180
server.0=127.0.0.1:2888:3888
server.1=127.0.0.1:2889:3889
server.2=127.0.0.1:2890:3890
参数解释:
tickTime: 客户端和服务端或者服务端多个节点之间维持心跳的时间间隔,单位毫秒。
initLimit:服务端节点初始化时,相互通信的等待时间。一个单位就是tickTime的值。
syncLimit:服务端节点之间同步数据的间隔时间。一个单位就是tickTime的值。
dataDir: 数据文件存放目录。
dataLogDir:用来重做数据的事务日志文件存放目录。
clientPort:给客户端连接的端口。
server.0,server.1,server.2表示节点编号,后边用冒号隔开的三个数字,分别表示节点的ip,交换数据的端口号,某个节点挂掉之后专门用来选举的端口号。
注:initLimit,syncLimit在单节点部署模式下,不需要配置。
3. 在dataDir目录下创建myid文件,写入该节点的编号 0 。这样一个节点就配置完成了。
4.复制 zookeeper-3.4.6_0 到 zookeeper-3.4.6_1和 zookeeper-3.4.6_2,要修改的地方是 zoo.cfg里的 dataDir,dataLogDir,clientPort。还有需要在自己的data目录下新建myid文件,写入自己的编号。
最终的目录结构如下:
比较重要的有ls, get,set,create,delete等等,path参数必须以/开头。留意create命令的 acl参数(Access Control权限控制)和set命令的 version参数
我们用create命令创建一个znode /testnode , 然后ls,发现已经创建成功了!
再看看set和get命令,把他的值改成 iwantchangemynode
"zookeeper的简介和安装方法"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!