zoukankan      html  css  js  c++  java
  • 【zookeeper】Windows下zookeeper的安装配置

     

    ZooKeeper是一个分布式开源框架,供了协调分布式应用的基本服务。这些天在使用DUBBO,由于开发环境是在windows环境下,需要能够先运行ZooKeeper,然后在此基础上实现服务的地址分配。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。

    ZooKeeper的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。
    ZooKeeper包含一个简单的原语集,提供Java和C的接口。
    ZooKeeper代码版本中,提供了分布式独享锁、选举、队列的接口,代码在zookeeper-3.4.9src ecipes。其中分布锁和队列有Java和C两个版本,选举只有Java版本。

    在下面,先搭建一个单机模式的的ZooKeeper环境。

    首先从将zookeeper下载下来。本人在这里下载的是3.4.9,下载地址在这里(http://mirror.bit.edu.cn/apache/zookeeper/

    下载后再将其解压到指定的目录中,我是解压到D盘中的,如下图所示:

    复制zookeeper-3.4.9conf目录下的zoo_sample.cfg文件改名为zoo.cfg:

    在zookeeper-3.4.9目录下新建两个文件夹,分别是data和logs。

    修改zoo.cfg配置文件:

    配置文件简单解析:
    1、tickTime:基本事件单元,以毫秒为单位。这个时间是作为 Zookeeper 服务器之间或客户端与服务器之间维持心跳的时间间隔,它用来控制心跳和超时,也就是每个 tickTime 时间就会发送一个心跳。默认情况下最小的会话超时时间为两倍的 tickTime。
    2、clientPort:监听客户端连接的端口。这个端口就是客户端连接 Zookeeper 服务器的端口,Zookeeper 会监听这个端口,接受客户端的访问请求。
    3、dataDir:顾名思义就是 Zookeeper 保存数据的目录,默认情况下,Zookeeper 将写数据的日志文件也保存在这个目录里。
    4、dataLogDir:顾名思义就是 Zookeeper 保存日志文件的目录

    完成后进入zookeeper-3.4.9in目录下,使用命令或直接点击zkServer.cmd启动zookeeper。这是有遇到两个问题,一是Error: JAVA_HOME is not set.如下:

    因为我的Java环境并不是通过JAVA_HOME来配置的,所以zookeeper默认是:

    set的时候是在下面的,而上面的JAVA_HOME就找不到了,于是将set的配置移至第一个if前面了,并设置Java jdk的路径即可。如下图:

    这样的话就可以解决该问题了。但是再次启动出现另一个问题是Error: JAVA_HOME is incorrectly set.如:

    该问题的原因是在Windows下java默认安装装在C:Program FilesJavajdk1.xxx下,路径中存在空格,启动时会找不到正确的路径,在JAVA_HOME上加""即可。

    这样修改后即可启动成功了。

    有时候还会遇到这样的错误:

    这个问题的原因是set JAVA_HOME的路径有错或没有清楚data和log(logs)文件目录的问价所致,清楚即可。

    全程就只修改了两个文件:一个是zoo.cfg;另一个是zkEnv.cmd;其他不需要修改。

    到此zookeeper就安装好了。

  • 相关阅读:
    log4net
    winform datagridview 刷新数据不需要重新绑定
    Git 简明教程(一)
    Task详解【转载】
    虚拟机Linux系统手动指定IP
    DataGrip连接sqlserver,提示驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接的解决方法
    c#中Equals方法和GetHashCode
    获取程序集的类型信息
    第一个windows桌面应用程序
    在运行时让PropertyGrid动态显示我们想要的对象属性
  • 原文地址:https://www.cnblogs.com/guokezhiren/p/9335422.html
Copyright © 2011-2022 走看看