Mac安装ZooKeeper

Mac安装ZooKeeper

brew install zookeeper
安装后zookeeper配置文件位置:/usr/local/etc/zookeeper

配置文件zookeeper详解

f milliseconds of each tick
tickTime=2000
# The number of ticks that the initial
# synchronization phase can take
initLimit=10
# The number of ticks that can pass between
# sending a request and getting an acknowledgement
syncLimit=5
# the directory where the snapshot is stored.
# do not use /tmp for storage, /tmp here is just
# example sakes.
dataDir=/usr/local/var/run/zookeeper/data/zk1
# the port at which the clients will connect
clientPort=2182
server.1=127.0.0.1:2888:3888
# the maximum number of client connections.
# increase this if you need to handle more clients
#maxClientCnxns=60

参数详解:

  1. tickTime:ZK中的一个时间单元。ZK中所有时间都是以这个时间单元为基础,进行整数倍配置的。例如,session的最小超时时间是2*tickTime。

  2. initLimit:Follower在启动过程中,会从Leader同步所有最新数据,然后确定自己能够对外服务的起始状态。Leader允许F在initLimit时间内完成这个工作。通常情况下,我们不用太在意这个参数的设置。如果ZK集群的数据量确实很大了,F在启动的时候,从Leader上同步数据的时间也会相应变长,因此在这种情况下,有必要适当调大这个参数了。(No Java system property)

  3. syncLimit:在运行过程中,Leader负责与ZK集群中所有机器进行通信,例如通过一些心跳检测机制,来检测机器的存活状态。如果L发出心跳包在syncLimit之后,还没有从F那里收到响应,那么就认为这个F已经不在线了。注意:不要把这个参数设置得过大,否则可能会掩盖一些问题。(No Java system property)

  4. dataDir:存储快照文件snapshot的目录。默认情况下,事务日志也会存储在这里。建议同时配置参数dataLogDir, 事务日志的写性能直接影响zk性能。

  5. clientPort: 客户端连接server的端口,即对外服务端口,一般设置为2181吧。

  6. server.x=[hostname]:nnnnn[:nnnnn]:这里的x是一个数字,与myid文件中的id是一致的。右边可以配置两个端口,第一个端口用于F和L之间的数据同步和其它通信,第二个端口用于Leader选举过程中投票通信。

配置zookeeper

单机环境

  1. 配置配置文件
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/usr/local/var/run/zookeeper/data/zk1
clientPort=2182
server.1=127.0.0.1:2888:3888
  1. 添加myid文件

    cd /usr/local/var/run/zookeeper/data/zk1(配置文件中的dataDir)
    vim myid 输入 1 保存,1代表机器编号。

  2. 启动服务
    zkServer start zk0.cfg

  3. 查看是否启动
    zkServer status zk0.cfg

    telnet 127.0.0.1 2181
    stat

  4. 关闭
    zkServer stop zk0.cfg

伪集群

  1. 配置文件中配置多个服务器
    server.1=127.0.0.1:2888:3888
    server.2=127.0.0.1:2889:3889
    server.3=127.0.0.1:2890:3890

  2. 生成多个.cfg文件

  3. 添加myid文件,(服务器个数)

你可能感兴趣的:(Mac安装ZooKeeper)