知识链接http://www.ibm.com/developerworks/cn/opensource/os-cn-zookeeper/#ibm-pcon http://blog.csdn.net/shenlan211314/article/details/6170717 http://zookeeper.apache.org/doc/current/ 部署zookeeper的安装可以按照zookeeper官网的引导进行操作。 这里主要介绍下windows(Linux类似)下部署集群的步骤。举个简单的例子,用单台服务器部署;当使用多台服务器时跟下面配置类似。 在某个目录(如:xxx/zookeeper)下建3个文件夹,如下 server1 server2 server3 然后在每个文件夹下:手动创建目录data、dataLog、logs;解压zookeeper- 3.4.5.tar.gz 总体结构如下data dataLog logs zookeeper-3.4.5 那么首先进入data目录,创建一个myid的文件(不需要后缀,文件不需要格式),里面写入一个数字,比如我这个是server1,那么就写一个1,server2对应myid文件就写入2,server3对应myid文件就写个3 然后进入zookeeper-3.4.5/conf目录,创建一个zoo.cfg的配置文件,配置的内容如下所示: tickTime=2000 initLimit=5 syncLimit=2 dataDir=xxxx/zookeeper/server1/data dataLogDir=xxx/zookeeper/server1/dataLog clientPort=2181 server.1=<ip>:2888:3888 server.2=<ip>:2889:3889 server.3=<ip>:2890:3890 只是需要注意的是clientPort这个端口如果你是在1台机器上部署多个server,那么个server都要不同的clientPort,比如我server1是2181,server2是2182,server3是2183,dataDir和dataLogDir的路径也需要区分下。 最后几行唯一需要注意的地方就是 server.X 这个数字就是对应data/myid中的数字。 你在3个server的myid文件中分别写入了1,2,3,那么每个server中的zoo.cfg都配server.1,server.2,server.3。 因为在同一台机器上,后面连着的2个端口3个server都不要一样,否则端口冲突,其中第一个端口用来集群成员的信息交换,第二个端口是在leader挂掉时专门用来进行选举leader所用。<ip>为服务器ip。 进入zookeeper-3.4.5/bin 目录中,window环境下双击运行zkServer.cmd启动一个server,Linux环境下运行命令./zkServer.sh start。 这时会报大量错误?没什么关系,因为现在集群只起了1台server,zookeeper服务器端起来会根据zoo.cfg的服务器列表发起选举leader的请求,因为连不上其他机器而报错,那么当我们起第二个zookeeper实例后,leader将会被选出,从而一致性服务开始可以使用,这是因为3台机器只要有2台可用就可以选出leader并且对外提供服务(2n+1台机器,可以容n台机器挂掉)。 测试
|
zookeeper
最新推荐文章于 2021-08-05 12:42:14 发布