wordpress调用站点标题,如何打开wordpress,wordpress 点击加微信,重庆奉节网站建设公司哪家好原文链接: http://gudaoyufu.com/?p1395 zookeeper工作方式 ZooKeeper 是一个开源的分布式协调服务#xff0c;由雅虎创建#xff0c;是 Google Chubby 的开源实现。 分布式应用程序可以基于 ZooKeeper 实现诸如数据发布/订阅、负载均衡、命名服务、分布式协 调/通知、集群管…原文链接: http://gudaoyufu.com/?p1395 zookeeper工作方式 ZooKeeper 是一个开源的分布式协调服务由雅虎创建是 Google Chubby 的开源实现。 分布式应用程序可以基于 ZooKeeper 实现诸如数据发布/订阅、负载均衡、命名服务、分布式协 调/通知、集群管理、Master 选举、分布式锁和分布式队列 等功能。 在使用中通常以集群的方式部署Zookeeper节点部署越多服务的可靠性越高建议部署奇数个节点因为zookeeper集群是以宕机个数过半才会让整个集群宕机的集群节点数为奇数最佳。 zookeeper也可以以单实例或伪集群的方式运行只不过这种方式不适用高并发的环境。下面记录一下部署zookeeper的过程包括单实例和伪集群分布式集群的部署。 安装JDK zookeeper是由JAVA开发运行需要有JAVA环境安装前先安装JDK。 JDK下载http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 下载完成后直接yum安装即可 单机实例部署 下载各版本可以在官方网站下载 : https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/ 这里下载的版本是 3.4.12 解压至指定路径[rootzookeeper ~]# tar zxf zookeeper-3.4.12.tar.gz -C /data/ 修改解压目录名称做伪集群或分布式集群最好将目录标明白容易看清[rootzookeeper ~]# mv /data/zookeeper-3.4.12/ /data/zookeeper1 修改配置文件[rootzookeeper ~]# cd /data/zookeeper1/conf/
[rootzookeeper conf]# mv zoo_sample.cfg zoo.cfg 单机实例部署配置如下[rootzookeeper conf]# vim zoo.cfg
tickTime2000 #2000毫秒2秒
initLimit10
syncLimit5
dataDir/opt/zookeeper/datadir
dataLogDir/opt/zookeeper/logdir
clientPort2181 创建数据目录[rootzookeeper conf]# mkdir -pv /opt/zookeeper/{datadir,logdata}
mkdir: 已创建目录 /opt/zookeeper
mkdir: 已创建目录 /opt/zookeeper/datadir
mkdir: 已创建目录 /opt/zookeeper/logdata 配置参数说明 ickTime这个时间是作为zookeeper服务器之间或客户端与服务器之间维持心跳的时间间隔,也就是说每个tickTime时间就会发送一个心跳。 initLimit 配置项是用来配置zookeeper接受客户端这里所说的客户端不是用户连接zookeeper服务器的客户端,而是zookeeper服务器集群中连接到leader的follower 服务器初始化连接时最长能忍受多少个心跳时间间隔数。当已经超过10个心跳的时间也就是tickTime长度后 zookeeper 服务器还没有收到客户端的返回信息,那么表明这个客户端连接失败。总的时间长度就是 10200020秒。syncLimit 配置项标识leader与follower之间发送消息,请求和应答时间长度,最长不能超过多少个tickTime的时间长度,总的时间长度就是5*200010秒。 dataDir 是zookeeper保存数据的目录默认情况下如果不定义dataLogDirzookeeper将写数据的日志文件也保存在这个目录里最好分开定义clientPort 客户端连接Zookeeper服务器的端口,Zookeeper会监听这个端口接受客户端的访问请求server.nipA:B:C 定义集群节点号ip监听端口选举通信端口n是一个数字,表示这个是第几号服务器,A是这个服务器的IP地址B第一个端口用来集群成员的信息交换,表示这个服务器与集群中的leader服务器交换信息的端口C是在leader挂掉时专门用来进行选举leader所用的端口。启动zookeeper[rootzookeeper ~]# /data/zookeeper1/bin/zkServer.sh startZooKeeper JMX enabled by default
Using config: /data/zookeeper1/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED 查看状态[rootzookeeper ~]# /data/zookeeper1/bin/zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /data/zookeeper1/bin/../conf/zoo.cfg
Mode: standalone #单机模式 查看端口 2181已经启动zookeeper指令 zookeeper启动后可以先连接测试是否正常 [rootzookeeper ~]# cd /data/zookeeper1/bin/
[rootzookeeper bin]# ./zkCli.sh -server 127.0.0.1WATCHER::WatchedEvent state:SyncConnected type:None path:null
[zk: 127.0.0.1(CONNECTED) 0] #登录成功 zookeeper启动后会在当前用户的家目录生成状态日志zookeeper.out平时服务状态出现问题可以从里面找到问题所在 连接上zk后随意输入一个字符通常是号会给出zookeeper的指令帮助 [zk: 127.0.0.1(CONNECTED) 0] ?
ZooKeeper -server host:port cmd argsstat path [watch]set path data [version]ls path [watch] #查看节点delquota [-n|-b] pathls2 path [watch]setAcl path aclsetquota -n|-b val pathhistory redo cmdnoprintwatches on|offdelete path [version]sync pathlistquota pathrmr pathget path [watch]create [-s] [-e] path data acl #创建节点addauth scheme authquit getAcl pathclose connect host:port #连接指令 创建节点[zk: 127.0.0.1(CONNECTED) 1] create /test test
Created /test
[zk: 127.0.0.1(CONNECTED) 2] ls /
[zookeeper, test] 获取节点内容[zk: 127.0.0.1(CONNECTED) 3] get /test
test
cZxid 0x8 该节点是由哪个事务ID产生
ctime Sat Sep 01 21:41:06 CST 2018
mZxid 0x8 最近更新了该节点的事务ID
mtime Sat Sep 01 21:41:06 CST 2018
pZxid 0x8 该节点的子节点列表被修改的事务ID
cversion 0 子节点版本号
dataVersion 0 数据版本号
aclVersion 0 ACL版本号
ephemeralOwner 0x0
dataLength 4 数据长度
numChildren 0 子节点个数 乐观并发访问控制和悲观并发访问控制 —延伸 更新节点[zk: 127.0.0.1(CONNECTED) 4] set /test test path 删除节点[zk: 127.0.0.1(CONNECTED) 6] delete /test
[zk: 127.0.0.1(CONNECTED) 7] ls /test
Node does not exist: /test
#如果删除有子目录的节点使用rmr指令 临时节点不能有子节点 ookeeper四字命令 使用telnet可以连接zookeeper发送4个字符的命令。 [rootzookeeper bin]# telnet 127.0.0.1 2181
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is ^].
ruok #探测是否存活
imokConnection closed by foreign host. [rootzookeeper bin]# telnet 127.0.0.1 2181
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is ^].
stat #查看zk版本信息
Zookeeper version: 3.4.12-e5259e437540f349646870ea94dc2658c4e44b3b, built on 03/27/2018 03:55 GMT
Clients:/127.0.0.1:52636[0](queued0,recved1,sent0)Latency min/avg/max: 0/2/308
Received: 248
Sent: 247
Connections: 1
Outstanding: 0
Zxid: 0xc
Mode: standalone
Node count: 5
Connection closed by foreign host. [rootzookeeper bin]# telnet 127.0.0.1 2181
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is ^].
conf #查看节点配置信息
clientPort2181
dataDir/opt/zookeeper/datadir/version-2
dataLogDir/opt/zookeeper/logdir/version-2
tickTime2000
maxClientCnxns60
minSessionTimeout4000
maxSessionTimeout40000
serverId0
Connection closed by foreign host. zookeeper伪集群部署 zookeeper伪集群是部署在一台服务器上通过创建多个工作目录配置项等实现多实例的运行 在上面的基础上再添加两个实例 将原来/data/zookeeper1目录复制[rootzookeeper ~]# cp -ar /data/zookeeper1/ /data/zookeeper2
[rootzookeeper ~]# cp -ar /data/zookeeper1/ /data/zookeeper3
[rootzookeeper ~]# ls /data/
zookeeper1 zookeeper2 zookeeper3 修改zookeeper1配置文件[rootzookeeper ~]# vim /data/zookeeper1/conf/zoo.cfg dataDir/opt/zookeeper/datadir #各伪节点目录不能相同
dataLogDir/opt/zookeeper/logdir
clientPort2181 #各伪节点端口不能相同#下面的节点定义各伪节点要相同
server.1192.168.214.171:2888:3888
server.2192.168.214.171:2889:3889
server.3192.168.214.171:2890:3890 修改zookeeper2配置文件[rootzookeeper ~]# vim /data/zookeeper2/conf/zoo.cfg dataDir/opt/zookeeper2/datadir
dataLogDir/opt/zookeeper2/logdir
clientPort2182
server.1192.168.214.171:2888:3888
server.2192.168.214.171:2889:3889
server.3192.168.214.171:2890:3890 修改zookeeper3配置文件dataDir/opt/zookeeper3/datadir
dataLogDir/opt/zookeeper3/logdir
clientPort2183
server.1192.168.214.171:2888:3888
server.2192.168.214.171:2889:3889
server.3192.168.214.171:2890:3890 创建数据存放目录[rootzookeeper ~]# mkdir -pv /opt/zookeeper{2,3}/{datadir,logdir}
mkdir: 已创建目录 /opt/zookeeper2
mkdir: 已创建目录 /opt/zookeeper2/datadir
mkdir: 已创建目录 /opt/zookeeper2/logdir
mkdir: 已创建目录 /opt/zookeeper3
mkdir: 已创建目录 /opt/zookeeper3/datadir
mkdir: 已创建目录 /opt/zookeeper3/logdir 为每个节点设置节点ID号[rootzookeeper ~]# echo 1 /opt/zookeeper/datadir/myid
[rootzookeeper ~]# echo 2 /opt/zookeeper2/datadir/myid
[rootzookeeper ~]# echo 3 /opt/zookeeper3/datadir/myid[rootzookeeper ~]# cat /opt/zookeeper/datadir/
myid version-2/
[rootzookeeper ~]# cat /opt/zookeeper/datadir/myid
1
[rootzookeeper ~]# cat /opt/zookeeper2/datadir/myid
2
[rootzookeeper ~]# cat /opt/zookeeper3/datadir/myid
3 启动集群[rootzookeeper ~]# /data/zookeeper1/bin/zkServer.sh start
ZooKeeper JMX enabled by default
Using config: /data/zookeeper1/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED[rootzookeeper ~]# /data/zookeeper2/bin/zkServer.sh start
ZooKeeper JMX enabled by default
Using config: /data/zookeeper2/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED[rootzookeeper ~]# /data/zookeeper3/bin/zkServer.sh start
ZooKeeper JMX enabled by default
Using config: /data/zookeeper3/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED 查看状态[rootzookeeper ~]# /data/zookeeper1/bin/zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /data/zookeeper1/bin/../conf/zoo.cfg
Mode: leader[rootzookeeper ~]# /data/zookeeper2/bin/zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /data/zookeeper2/bin/../conf/zoo.cfg
Mode: follower[rootzookeeper ~]# /data/zookeeper3/bin/zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /data/zookeeper3/bin/../conf/zoo.cfg
Mode: follower 测试master切换关闭leader节点 [rootzookeeper ~]# /data/zookeeper1/bin/zkServer.sh stop
ZooKeeper JMX enabled by default
Using config: /data/zookeeper1/bin/../conf/zoo.cfg
Stopping zookeeper ... STOPPED#zookeeper2节点立即变成了leader[rootzookeeper ~]# /data/zookeeper2/bin/zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /data/zookeeper2/bin/../conf/zoo.cfg
Mode: leader 再启动zookeeper1节点会以follower角色工作[rootzookeeper ~]# /data/zookeeper1/bin/zkServer.sh start
ZooKeeper JMX enabled by default
Using config: /data/zookeeper1/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
[rootzookeeper ~]# /data/zookeeper1/bin/zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /data/zookeeper1/bin/../conf/zoo.cfg
Mode: follower 关于zookeeper的单机模式和伪集群就写到这分布式集群部署点击阅读 转载于:https://www.cnblogs.com/tchroot/p/9591801.html