四:ZooKeeper的集群,伪集群,单机的搭建

一:ZooKeeper服务安装包下载

第一步:打开zooKeeper官网

第二步:进入下载页

第三步:进入真正的下载页

第四步:选择ZooKeeper版本

第五步:复制下载的地址

第六步:将本地的压缩包上传到服务器目录

二:zookeeper集群模式配置
【1】zookeeper/cnfg/zoo_sample.cfg
复制一份样例文件,将配置写在zoo.cfg中.集群中所有节点的该目录下都要放置相同的配置文件

#dataDir=/var/zookeeper
存储zookeeper快照文件的目录,要在liunx该目录下创建zookeeper目录

#clientport=2181
zookeeper服务器对外提供服务的端口号

#server.ID=host:port1:port2

ID==>ZK集群中节点的id
host==>ZK集群中机器节点的ip地址
port1==>Follower和Leader通信端口
port2==>Leader服务器选举过程的集群的投票端口

 

#tickTime=2000
用于存储zookeeper集群中最小时间单元的长度,许多操作运行的时间间隔都是使用tickTime的倍数表示

#initLimit=10
就是tickTIme的10倍。新启动的Follower服务器和Leader服务器同步数据的最大时间限制。一般默认值。但随着数据增多,同步时间过长,这个需要做调整。他的时间长度为initLimit*tickTime的

#leaderServes
leader服务器是否否接收客户端的链接。默认是可以的,接收所有读写请求。在zookeeper架构中是起事务协调,数据同步工作协调。

#syncLimit=5
Leder服务器和Follower服务器心跳检测的延迟时间。

#cnxTimeout=5000
Leader选举过程中,各个服务器进行tcp链接的最大超时时间

#forceSync  (yes或no)yes是写入
zookeeper是否在事务提交的时候强制将事务日志写入磁盘。

#jute.maxbuffer=1M
zookeeper单个数据节点上存储数据量的最大上限。

#skipACL(yes或no)yes是跳过
配置zookeeper服务器是否跳过acl权限检查

#dataLogDir
存储zookeeper的事务日志,默认是和快照文件写在一个目录下,要把他放在一个单独的目录,对zookeeper的事务处理能力有好处。

#globalOutstandingLimit
配置zookeeper最大请求堆积数,允许最大请求上限

#preAllocSize
用于配置zookeeper事务日志文件预分配的最大磁盘空间,一般64M

#snapCount
用于配置相邻两次数据快照之间,事务操作的次数。zookeeper在事务操作达到这些次数,进行一次事务快照。

#maxClientCnxns
用于配置,单个客户端对单个zooKeeper服务器的最大并发链接数。以ip地址的粒度来进行链接数的限制。如果配置为0表示无限制。

#clientPortAddress
用于那些多网卡的机器,允许为每个ip地址分配监控端口。

#maxSessionTimeout
服务端对客户端会话超时时间最大设置的限制。如果客户端在配置时,超过这个值,则被强制以这个值作为最大超时时间。

#fsync.warningthresholdms
用于配置zookeeper进行事务日志同步操作消耗时间的筏值。

#autopurge.snapRetainCount
zookeeper对历史事务日志,和快照的清除的支持,这个参数用于配置对事务日志,和快照文件保留的数量。最小配置是3。至少保留3个快照文件和3个事务日志文件

#autopurge.purgeInterval
历史文件清理的频率。如果=0,表示不清理。和上面参数配合使用。

#electionAlg
用于配置Leader的选举算法(无用。)

【2】在集群中所有机器节点的存放快照目录/var/zookeeper/下创建myid的文件
        --->在某个机器节点该目录下的myid文件
        --->并且在该myid文件中写入当前机器节点的ID(server.ID的ID值)

【3】启动服务器
        --->cd /opt/zookeeper/bin/bin
        --->./zkServer.sh start(启动服务器)  
        --->./zkServer.sh stop(关闭服务器)

【4】测试是否启动成功
        --->telnet  启动zk机器节点ip  对外提供服务的端口号(telnet 192.168.1.105 2181)
        --->stat

二:zookeeper伪集群模式配置
【1】伪集群模式(一台zookeeper机器伪造成集群)配置和集群模式配置差不多,在配置文件上有区别。
#server.ID=host:port1:port2
--->host的ip地址一样
--->follower和leader沟通的端口号不一样
--->leader选举端口号不一样

【2】文件快照存储和myid配置不变

三:zookeeper单机器模式配置

【1】单机模式(一台zookeeper机器)的配置在配置文件上有区别。
#server.ID=host:port1:port2
--->配置文件只保留其中一条记录就可以了。

【2】文件快照存储和myid配置不变

 

 

四:zookeeper的四字命令
【1】第一种方式使用四字命令
--->telnet  启动zk机器节点ip  对外提供服务的端口号(telnet 192.168.1.105  2181)
--->stat

【2】常用的四字命令
#echo stat | nc ip 端口号
===>zookeeper服务器状态信息,节点数,角色等。当前服务器的链接信息也打印出来

#echo conf | nc ip 端口号
===>zookeeper服务器的基本配置信息

#echo cons | nc ip 端口号
===>表示当前服务器上所有客户端的链接的详细信息,包括每个客户端的ip 地址,会话id,最后一次交互的操作类型

#echo crst | nc ip 端口号
===>重置所有客户端链接统计信息

#echo dump | nc ip 端口号
===>输出集群所有的会话信息,包活会话信息id,以及每个会话创建的临时节点的信息

#echo envi | nc ip 端口号
===>输出当前服务器所运行的环境信息

#echo ruok | nc ip 端口号
===>用于判断当前服务器是否正常运行的命令。

#echo srvr | nc ip 端口号
===>与stat相似,但不会数据客户端链接信息

#echo srst | nc ip 端口号
===>重置所有服务器的统计信息

#echo wchs | nc ip 端口号
===>当前服务器上watcher管理的概要信息

#echo wchc | nc ip 端口号
===>当前服务器上watcher的详细信息,以会话为单位进行分组显示

#echo wchp | nc ip 端口号
===>输出当前服务器上管理的watcher信息,以节点路径为单位进行分组显示

#echo mntr | nc ip 端口号
===>输出比stat命令更为详细的服务器统计信息。请求处理延迟情况,服务器内存数据库的大小,和集群数据同步情况。每一行都是key-value的信息

时间: 2024-10-24 11:31:06

四:ZooKeeper的集群,伪集群,单机的搭建的相关文章

Zookeeper单机伪集群

Zookeeper单机伪集群 1.配置 zookeeper下载地址:http://apache.mirrors.lucidnetworks.net/zookeeper/ 可以选择需要的版本,我下载的是zookeeper-3.4.3.tar.gz,解压得到文件夹zookeeper-3.4.3 在主文件夹下建立一个zookeeper文件夹,在zookeeper文件夹里建立三个目录server1,server2,server3: mkdir -p server1 server2 server3 然后每

Kafka入门初探+伪集群部署

Kafka是目前非常流行的消息队列中间件,常用于做普通的消息队列.网站的活性数据分析(PV.流量.点击量等).日志的搜集(对接大数据存储引擎做离线分析). 全部内容来自网络,可信度有待考证!如有问题,还请及时指正. 概念介绍 在Kafka中消息队列分为三种角色: producer,即生产者,负责产生日志数据. broker,存储节点,负责按照topic中的partition分区,均匀分布式的存储分区. consumer,即消费者,负责读取使用broker中的分区. producer Kafka系

同一台计算机里伪集群时、其中ngnix+varnish+tomcat如何配置问题

问题描述 同一台计算机里伪集群时.其中ngnix+varnish+tomcat如何配置问题 我说的同一台计算机里做的伪集群,按照这个思想:访问网页的时候先经过ngnix.然后到达varnish最后访问tomcat这样如何配置?,特别是ngnix访问varnish这一步,谢谢! 解决方案 参考http://www.open-open.com/lib/view/open1404974447247.html 解决方案二: nginx反向代理到varnish做加速,然后再连tomcat做应用服务器.

Centos下用twemproxy搭建ssdb伪集群示例

前言 依稀记得大二下的那个暑假参加的第二场面试,面的是唯品会一个和学校合作的到贵司进行为期两周学习的一个项目,面我的是PHP班的leader(X.C)(当时分3个方向,PHP,IOS,Android),面试过程中我表现一般,其中就记得问到我对Memcache,Redis缓存的掌握程度,在此之前只是听说过大概了解它们的意思,但没有去学习实践过,面完后我回去就把没答上来的问题一一记下来,后面还是通过我大胆的争取得到了进入这个项目的机会,在此表示对leader.对dogstar师兄.对Laura姐.对

网络基础二 tcp/ip协议簇 端口 三次握手 四次挥手 11种状态集

第1章 概念介绍 1.1 VLAN 1.1.1 什么是VLAN VLAN(Virtual LAN),翻译成中文是"虚拟局域网".LAN可以是由少数几台家用计算机构成的网络,也可以是数以百计的计算机构成的企业网络.VLAN所指的LAN特指使用路由器分割的网络--也就是广播域. 1.1.2 划分VLAN的目的 1.     提高安全性 a)       举个例子:没有划分VLAN前,交换机端口连接下的所有PC都处于一个VLAN中即一个广播域中,实现ARP中间人攻击太简单了.划分了VLAN之

QQ群并不完美 群功能的现存问题及解决方案

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 首先得肯定,QQ群肯定是同类软件中最棒的,但现在许多群主.管理都觉得"办个热群比上班还累",甚至有"关群"的倾向,本人认为这其中,不少是因QQ群的功能而造成的.许多原本可以简化,现在却变得相对复杂,许多原本可以避免的,却防不胜防. 问题一.加群1次,退群却要5.6次. 状况:1个Q号加群,过后由于各种原

c#实现QQ群成员列表导出及邮件群发之群列表及群成员获取

前言 通过前两篇的代码编写已经能正常模拟QQ登陆,拿到cookie也就是我们进行以后相关操作的金 钥匙.这篇文章将通过代码的方式去获取登陆QQ账号的群列表,某群里面的群成员列表. 本文重点: 1.抓包获取QQ群列表访问地址 2.抓包获取QQ群成员列表 3.参数值计算,gtk的计算 方法(网上几乎找不到的计算方法) 4.处理返回值 本文完成这一系列也基本算是完成了,到此 篇为止,可正常获取群成员,当然也就是拿到了QQ邮箱,如果想进行其他操作的话,同样也可以用次方式来实 现. 抓包 1.获取QQ群列

小波说雨燕 第三季 构建 swift UI 之 UI组件集-视图集(七)Progress View进度条 学习笔记

小波说雨燕 第三季 构建 swift UI 之 UI组件集-视图集(七)Progress View进度条 学习笔记 1 import UIKit 2 3 class ViewController: UIViewController{ 4 5 @IBOutlet weak var progress: UIProgressView! 6 7 let operationQueue = NSOperationQueue() 8 9 var 完成进度: Int = 0{ 10 didSet(oldValu

群主删除一个群成员,再次通过群id获取群信息,需要重新登录才成功

问题描述 我项目里面引入环信demo,进行了一些修改,但是作为群主,如果删除一个群成员,通过群id获取群信息失败,group = EMGroupManager.getInstance().getGroupFromServer(toChatUsername);方法不执行再次登录才可以~ 解决方案 获取群信息失败报错是什么