Zookeeper 安装及配置(Mac)

    技术2023-11-20  86

    Zookeeper 的配置 一、单机模式 1.1、编辑配置文件 在“conf”目录下,新建一个名为“zoo.cfg”的文件,其中内容如下:

        tickTime=2000       dataDir= /usr/myenv/zookeeper-3.4.8/data  (填写自己的data目录)       dataLogDir=/usr/myenv/zookeeper-3.4.8/logs       clientPort=2181 参数说明:

    #tickTime: zookeeper中使用的基本时间单位, 毫秒值. #dataDir: 数据目录. 可以是任意目录. #dataLogDir: log目录, 同样可以是任意目录. 如果没有设置该参数, 将使用和#dataDir相同的设置. #clientPort: 监听client连接的端口号. 1.2、运行ZooKeeper Server 执行./bin/zkServer.sh start命令,运行ZooKeeper Server进程,得到如图所示结果,表示后台运行ZooKeeper Server进程成功。

    注:命令telnet 127.0.0.1 2181 连接成功验证Zookeeper 是否启动成功 停止:./bin/zkServer.sh stop 也可以执行bin/zkServer.sh start-foreground命令,非后台运行ZooKeeper Server进程

    二、集群模式 集群模式有两种形式: 1)使用多台机器,在每台机器上运行一个ZooKeeper Server进程; 2)使用一台机器,在该台机器上运行多个ZooKeeper Server进程。 在生产环境中,一般使用第一种形式,在练习环境中,一般使用第二种形式。

    2.1、参数配置 集群模式下,需要配置一些参数,以下是常见的一些参数。 

    data目录 用于存放进程运行数据。  data目录下的myid文件 用于存储一个数值,用来作为该ZooKeeper Server进程的标识。  监听Client端请求的端口号 监听同ZooKeeper集群内其他Server进程通信请求的端口号 监听ZooKeeper集群内“leader”选举请求的端口号 该端口号用来监听ZooKeeper集群内“leader”选举的请求。注意这个是ZooKeeper集群内“leader”的选举,跟分布式应用程序无关。 参数配置注意事项: 1)同一个ZooKeeper集群内,不同ZooKeeper Server进程的标识需要不一样,即myid文件内的值需要不一样 2)采用上述第2种形式构建ZooKeeper集群,需要注意“目录,端口号”等资源的不可共享性,如果共享会导致ZooKeeper Server进程不能正常运行,比如“data目录,几个监听端口号”都不能被共享 myid    Data目录    Client    Server    Leader    配置文件 1    /z1/data    2181    2222    2223    z1.cfg 2    /z2/data    2182    3333    3334    z2.cfg 3    /z3/data    2183    4444    4445    z3.cfg 配置如下:

        # zx.cfg       tickTime=2000       initLimit=10       syncLimit=2       dataDir=/usr/myenv/zookeeper-3.4.8/zx/data       clientPort=218x       # server.x中的“x”表示ZooKeeper Server进程的标识       server.1=127.0.0.1:2222:2225       server.2=127.0.0.1:3333:3335       server.3=127.0.0.1:4444:4445 注:

    initLimit: zookeeper集群中的包含多台server, 其中一台为leader, 集群中其余的server为follower. initLimit参数配置初始化连接时, follower和leader之间的最长心跳时间. 此时该参数设置为5, 说明时间限制为5倍tickTime, 即5*2000=10000ms=10s. syncLimit: 该参数配置leader和follower之间发送消息, 请求和应答的最大时间长度. 此时该参数设置为2, 说明时间限制为2倍tickTime, 即4000ms. 2.2、运行ZooKeeper Server 分别执行   bin/zkServer.sh start deploy/z1/z1.cfg,     bin/zkServer.sh start deploy/z2/z2.cfg     bin/zkServer.sh start deploy/z3/z3.cfg 运行上述配置的3个ZooKeeper Server进程。 2.3、运行ZooKeeper命令行客户端 执行命令 bin/zkCli.sh -server 127.0.0.1:2181,127.0.0.1:2182,127.0.0.1:2183 建立ZooKeeper Client端到ZooKeeper集群的连接会话。  

    Processed: 0.012, SQL: 9