zookeeper单机版安装

1.解压zookeeper安装包(本人重命名为zookeeper,并移动到/usr/local路径下),此处只有解压命令算法

  tar -zxvf zookeeper-3.4.5.tar.gz服务器

2.进入到zookeeper文件夹下,并建立data和logs文件夹(通常解压后都有data文件夹)session

  [root@localhost zookeeper]# cd /usr/local/zookeeper/并发

  [root@localhost zookeeper]# mkdir logs性能

3.在conf目录下修改zoo.cfg文件(若是没有此文件,则本身新建该文件),修改成以下内容:spa

  

最低配置调试

参数名
默认
描述
clientPort
 
服务的监听端口
dataDir
 
用于存放内存数据快照的文件夹,同时用于集群的myid文件也存在这个文件夹里
tickTime
2000
Zookeeper的时间单元。Zookeeper中全部时间都是以这个时间单元的整数倍去配置的。例如,session的最小超时时间是2*tickTime。(单位:毫秒)
dataLogDir
 
事务日志写入该配置指定的目录,而不是“ dataDir ”所指定的目录。这将容许使用一个专用的日志设备而且帮助咱们避免日志和快照之间的竞争
globalOutstandingLimit
1,000
最大请求堆积数。默认是1000。Zookeeper运行过程当中,尽管Server没有空闲来处理更多的客户端请求了,可是仍是容许客户端将请求提交到服务器上来,以提升吞吐性能。固然,为了防止Server内存溢出,这个请求堆积数仍是须要限制下的。 
preAllocSize
64M
预先开辟磁盘空间,用于后续写入事务日志。默认是64M,每一个事务日志大小就是64M。若是ZK的快照频率较大的话,建议适当减少这个参数。
snapCount
100,000
每进行snapCount次事务日志输出后,触发一次快照, 此时,Zookeeper会生成一个snapshot.*文件,同时建立一个新的事务日志文件log.*。默认是100,000.
traceFile
 
用于记录全部请求的log,通常调试过程当中可使用,可是生产环境不建议使用,会严重影响性能。
maxClientCnxns
 
最大并发客户端数,用于防止DOS的,默认值是10,设置为0是不加限制
clientPortAddress / maxSessionTimeout
 
对于多网卡的机器,能够为每一个IP指定不一样的监听端口。默认状况是全部IP都监听 clientPort 指定的端口
minSessionTimeout
 
Session超时时间限制,若是客户端设置的超时时间不在这个范围,那么会被强制设置为最大或最小时间。默认的Session超时时间是在2 *  tickTime ~ 20 * tickTime 这个范围 
fsync.warningthresholdms
1000
事务日志输出时,若是调用fsync方法超过指定的超时时间,那么会在日志中输出警告信息。默认是1000ms。
autopurge.snapRetainCount
 
参数指定了须要保留的事务日志和快照文件的数目。默认是保留3个。和autopurge.purgeInterval搭配使用
autopurge.purgeInterval
 

在3.4.0及以后版本,Zookeeper提供了自动清理事务日志和快照文件的功能,这个参数指定了清理频率,单位是小时,须要配置一个1或更大的整数,默认是0,表示不开启自动清理功能rest

syncEnabled
  Observer写入日志和生成快照,这样能够减小Observer的恢复时间。默认为true。


集群选项
日志

参数名
默认
描述
electionAlg
 
以前的版本中, 这个参数配置是容许咱们选择leader选举算法,可是因为在之后的版本中,只有“FastLeaderElection ”算法可用,因此这个参数目前看来没有用了。
initLimit
10

Observer和Follower启动时,从Leader同步最新数据时,Leader容许initLimit * tickTime的时间内完成。若是同步的数据量很大,能够相应的把这个值设置的大一些。server

leaderServes
yes 默 认状况下,Leader是会接受客户端链接,并提供正常的读写服务。可是,若是你想让Leader专一于集群中机器的协调,那么能够将这个参数设置为 no,这样一来,会大大提升写操做的性能。通常机器数比较多的状况下能够设置为no,让Leader不接受客户端的链接。默认为yes
server.x=[hostname]:nnnnn[:nnnnn]
 
“x”是一个数字,与每一个服务器的myid文件中的id是同样的。hostname是服务器的hostname,右边配置两个端口,第一个端口用于Follower和Leader之间的数据同步和其它通讯,第二个端口用于Leader选举过程当中投票通讯。  
syncLimit
 
表示Follower和Observer与Leader交互时的最大等待时间,只不过是在与leader同步完毕以后,进入正常请求转发或ping等消息交互时的超时时间。
group.x=nnnnn[:nnnnn]
 
“x”是一个数字,与每一个服务器的myid文件中的id是同样的。对机器分组,后面的参数是myid文件中的ID
weight.x=nnnnn
 
“x”是一个数字,与每一个服务器的myid文件中的id是同样的。机器的权重设置,后面的参数是权重值
cnxTimeout
5s
 选举过程当中打开一次链接的超时时间,默认是5s
standaloneEnabled
 
当设置为false时,服务器在复制模式下启动

4.进入bin目录,启动、中止、重启分和查看当前节点状态

  [root@localhost bin]# ./zkServer.sh start

  [root@localhost bin]# ./zkServer.sh stop

  [root@localhost bin]# ./zkServer.sh restart

  [root@localhost bin]# ./zkServer.sh status

相关文章
相关标签/搜索