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集群服务器的部署完成。