标签:发送 dir water 表示 打开 iss apache 配置文件 通信
搭建伪集群来熟悉搭建步骤,也就是采用一台电脑和多台电脑的区别。
zookeeper下载:https://downloads.apache.org/zookeeper/
这里选用的是
我这里下载的是zookeeper-3.5.7,下载-bin.tar.gz这种文件,适合windows
下载下来之后解压,并在复制两份,共三份,并且三分名字不一样。
zookeeper的部署个数最好为奇数,因为里面有个选举机制,少数服从多数。偶数不利于选举。zookeeper集群的机制是只要超过半数的节点运行,集群就能正常提供服务。
打开第一个apache-zookeeper-3.5.7-bin-1里面进入conf文件夹里面,把zoo_sample.cfg复制一份,并重新命名为zoo.cfg.
同样,apache-zookeeper-3.5.7-bin-2,apache-zookeeper-3.5.7-bin-3也这样进行修改。
创建文件夹zookeeperdata,并在里面创建以下文件夹,用来存放zookeeper产生的日志和数据。
在dataone文件夹内创建文件myid,这个文件没有后缀名,打开cmd
创建之后输入1
datatwo与datathree也是一样的操作,在myid里输入分别为2,3,这里的数字123是与apache-zookeeper-3.5.7-bin-1、2、3里的\cofig\zoo.cfg里的配置有关,下面就讲到了
打开zoo.cfg,修改这两个地方
tickTime:这个时间是作为 Zookeeper 服务器之间或客户端与服务器之间维持心跳的时间间隔,也就是每个 tickTime 时间就会发送一个心跳。
dataDir:顾名思义就是 Zookeeper 保存数据的目录,默认情况下,Zookeeper 将写数据的日志文件也保存在这个目录里。
clientPort:这个端口就是客户端连接 Zookeeper 服务器的端口,Zookeeper 会监听这个端口,接受客户端的访问请求。
initLimit:集群中的follower服务器(F)与leader服务器(L)之间初始连接时能容忍的最多心跳数(tickTime的数量)
syncLimit:集群中的follower服务器与leader服务器之间请求和应答之间能容忍的最多心跳数(tickTime的数量)。
这里server.1,server.2,server.3,server后面的1,2,3便是对应myid里面的1,2,3
server.A=B:C:D;其中 A 是一个数字,表示这个是第几号服务器;B 是这个服务器的 ip 地址;C 表示的是这个服务器与集群中的 Leader 服务器交换信息的端口;D 表示的是万一集群中的 Leader 服务器挂了,需要一个端口来重新进行选举,选出一个新的 Leader,而这个端口就是用来执行选举时服务器相互通信的端口。如果是伪集群的配置方式,由于 B 都是一样,所以不同的 Zookeeper 实例通信端口号不能一样,所以要给它们分配不同的端口号。
同一IP上搭建多个节点的集群时,必须要注意端口问题,端口必须不一致才行;在剩下的两个zoo.cgf里面改成clientport=2182与clientport=2183,其余都一样
然后运行zkServer,发现闪退
于是打开它的命令行,在最后一行添加pause,再次运行
再次运行的结果为:
错误原因是找不到zoo.cfg配置文件
于是编辑zkEnv.cmd
然后再运行zkServer
成功!
分别成功运行 三个apache-zookeeper-3.5.7-bin-1,apache-zookeeper-3.5.7-bin-2,apache-zookeeper-3.5.7-bin-3下的zkServer,集群搭建成功
多IP多节点:
将zookeeper拷贝到每个节点一份。
多IP多节点与单IP多节点搭建过程基本一致,上述过程不再重复描述,仅重点说一个地方:server的IP地址、端口为真实即可。
注意:zk的部署个数最好为基数,ZK集群的机制是只要超过半数的节点OK,集群就能正常提供服务。只有ZK节点挂得太多,只剩一半或不到一半节点能工作,集群才失效。
标签:发送 dir water 表示 打开 iss apache 配置文件 通信
原文地址:https://www.cnblogs.com/hzcc/p/14144311.html