Win10单机安装Zookeeper集群实战

Win10单机安装Zookeeper伪集群

  • 安装过程
  • 单机模式
  • win10集群
  • 附录
      • 参数意义
      • 官方文档

安装过程

1.下载
https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/stable/

最新的3.5.5.bin.tar.gz解压会冲突,不知道是什么原因,还是下3.4.9版本:
http://archive.apache.org/dist/zookeeper/zookeeper-3.4.9/

2.解压到“D:\programGreen\zookeeper-3.4.9”

3.修改“zoo_sample.cfg”为“zoo.cfg”


单机模式

直接运行

  • D:\programGreen\zookeeper-3.4.9\bin>zkServer.cmd

win10集群

1.conf目录添加zoo1.cfg、zoo2.cfg、zoo3.cfg配置文件,内容分别如下:

# zoo1.cfg
tickTime=2000
initLimit=10
syncLimit=5
server.1=localhost:2888:3888
server.2=localhost:2889:3889
server.3=localhost:2890:3890
# 集群参数
dataDir=/tmp/zookeeper/d1
dataLogDir=/tmp/zookeeper/log1
clientPort=2181
# zoo2.cfg
tickTime=2000
initLimit=10
syncLimit=5
server.1=localhost:2888:3888
server.2=localhost:2889:3889
server.3=localhost:2890:3890
# 集群参数
dataDir=/tmp/zookeeper/d2
dataLogDir=/tmp/zookeeper/log2
clientPort=2182
# zoo3.cfg
tickTime=2000
initLimit=10
syncLimit=5
server.1=localhost:2888:3888
server.2=localhost:2889:3889
server.3=localhost:2890:3890
# 集群参数
dataDir=/tmp/zookeeper/d3
dataLogDir=/tmp/zookeeper/log3
clientPort=2183

2.bin下的zkserver.cmd复制3份:zkserver1.cmd、zkserver2.cmd、zkserver3.cmd,分别加入一行"set ZOOCFG=…\conf\zooX.cfg"

@echo off
setlocal
call "%~dp0zkEnv.cmd"
set ZOOMAIN=org.apache.zookeeper.server.quorum.QuorumPeerMain
set ZOOCFG=..\conf\zoo1.cfg
echo on
call %JAVA% "-Dzookeeper.log.dir=%ZOO_LOG_DIR%" "-Dzookeeper.root.logger=%ZOO_LOG4J_PROP%" -cp "%CLASSPATH%" %ZOOMAIN% "%ZOOCFG%" %*
endlocal
...
set ZOOCFG=..\conf\zoo2.cfg
...
...
set ZOOCFG=..\conf\zoo3.cfg
...

3.D盘建立目录

  • D:\tmp\zookeeper\d1\myid ------------myid文件里面为1
  • D:\tmp\zookeeper\d2\myid ------------myid文件里面为2
  • D:\tmp\zookeeper\d3\myid ------------myid文件里面为3
  • D:\tmp\zookeeper\log1
  • D:\tmp\zookeeper\log2
  • D:\tmp\zookeeper\log3

3.3个cmd窗口分别运行3个zkserverX.cmd,netstar-ano查看端口监听情况。—貌似监听不了呢;

4.3个cmd窗口运行zkCli.cmd

  • zkCli.cmd -server:localhost:2181;
  • zkCli.cmd -server:localhost:2182;
  • zkCli.cmd -server:localhost:2183;
C:\Windows\system32>d:
D:\>cd D:\programGreen\zookeeper-3.4.9\bin
D:\programGreen\zookeeper-3.4.9\bin>zkCli.cmd -server:localhost:2181;

5.在zkCli.cmd的黑框框输入命令

  • ls / ------- 查看znode
  • create /zk_test my_data ------- 创建znode
  • ls / ------- znode多了zk_test,
  • get /zk_test ------- 看到值为my_data
  • set /zk_test junk ------- 设置值为junk
  • get /zk_test ------- 看到值为junk
  • delete /zk_test ------- 删除znode

附录

参数意义

  • dataDir: 存储内存数据库快照位置,以及更新到数据库的事务日志(除非另有指定)。
  • dataLogDir: 事务日志目录。------设置这个参数可以获得较低的更新延迟
  • tickTime:单位时间,以毫秒为单位。
  • initLimit:follower启动时从leader同步数据,完成起始状态的时间;或follower必须连接到leader的时间,否则该follower会被剔除,其上的客户端会分配到别的follower。-----通常情况下,我们不用太在意这个参数的设置。如果集群的数据量很大,有必要适当调大。
  • clientPort:监听客户机连接的端口。
  • syncLimit:限制了服务器与领导者之间的过时程度。比如leader发出心跳包但没有在规定时间内收到响应,那就认为follower不存在了。不要把这个参数设置得过大,否则可能会掩盖一些问题。
  • server.x=host:port1:port2。x数字与myid文件中id一致,port1用于机器间通信,port2用于选举投票。

官方文档

  • https://zookeeper.apache.org/doc/current/zookeeperStarted.html

你可能感兴趣的:(教程,zookeeper)