zookeeper是什么?

Apache ZooKeeper 是一个面向分布式应用程序的高性能协调服务器。它使用一个简单的接口暴露公共服务(比如命名和配置管理、同步和组服务),让用户不必从头开始编程。它为实现共识、组管理、领导者选举和到场协议(presence protocol)配备了现成的支持。


下面是我在ubuntu14.04 server中部署 zookeeper集群服务器的经验


zookeeper集群服务器的部署

1.安装jdk

  之前安装jdk都是自己手动配置环境,这次为了偷懒就使用了apt-get安装oracle的jdk

  sudo add-apt-repository ppa:webupd8team/java

  sudo apt-get update

  sudo apt-get install oracle-java8-installer

  sudo update-java-alternatives -s java-8-oracle

最后一步是设置当前jdk为系统默认jdk

  安装完成后可以使用 java -version 查看是否安装成功。


2.部署zookeeper集群服务器(以3台服务器为例)

2.1

  把下载到的zookeeper压缩包解压到适当目录,假设解压目录为ZOOKEEPER。创建一个dataDir用于保存与zookeeper服务器有关联的状态,假设路径为/var/lib/zookeeper

  cd conf

  mv zoo_sample.cfg zoo.cfg

  vi zoo.cfg

  修改dataDir=/var/lib/zookeeper

  在结尾添加3个集群结点:

 

server.1=ip1:2888:3888

server.2=ip2:2888:3888

server.3=ip3:2888:3888

其中ip1、ip2、ip3代表三个服务器结点的ip,具体ip请自行替换。端口建议不要改动。


2.2

  在/var/lib/zookeeper中新建一个文件,文件名为myid。内容为server.后面的数字。

 比如在ip1这台服务器中的myid内容就是1,这是为了让服务器能够知道从×××到相应的地址。


2.3

  启动服务器。

  cd bin

 bash zkServer.sh start

  这里需要把3台服务器都启动才可以。


2.4

  在与到服务器网络连通的任意一台主机上都可以创建一个客户端用于连接服务器。

  cd bin

  bash zkCli.sh -server ip:2181

  注意:2181端口是默认的端口,如果需要改变可以在zoo.cfg中修改。


至此,zookeeper集群服务器的部署完成。