zookeeper集群

Posted Sniper_ZL

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了zookeeper集群相关的知识,希望对你有一定的参考价值。

前言

  当solr数据量小,并发少的时候,一台solr服务器足以应付,如果solr数据量比较大,并发多的时候,一台solr不能应对的时候,是否需要对solr进行集群。这里需要先对zookeeper进行集群,因为zookeeper会作为solr集群的配置信息中心。

集群介绍

  zookeeper集群的时候,也有一个投票机制,不同的是,这里不是投票别的服务器是否已挂,而是投票决定,谁做主服务器,谁做从服务器。所以,在集群的时候,最好使用奇数台电脑进行集群。由于我没有多台电脑,所以,只能在这里做一个伪集群了。  

zookeeper集群  

一. 解压拷贝三份一样的目录文件

 

二. 修改每个文件夹中的配置信息

1. 新建data文件夹,并赋id

切换到zookeeper1文件夹中,执行新增文件夹命令。

mkdir data

然后还需要给这个zookeeper赋一个id。

执行一下命令:

echo 1 >./data/myid

可以通过

cat  ./data/myid 命令进行验证

zookeeper2,zookeeper3使用同样的方式修改,区别在于myid这里需要赋不同值。如:

zookeeper2的myid赋2,zookeeper3的myid赋3。

 

 2. 配置修改

zookeeper1:

1->各自的data文件目录

2->端口号,zookeeper1可以不改,zookeeper2,zookeeper3需要修改为2182,2183.

3->集群中的zookeeper服务器ip。这里的部分,zookeeper2,zookeeper3只需要拷贝过去就行。

注意到这里的ip有两个端口号。

第一个端口号,是zookeeper之间通信用的。

第二个端口号,是zookeeper投票用的。

 

三. 启动

1. 一键启动

在启动之前,建一个启动文本,用来避免一个一个手动去启动。

在solr-cloud目录下,执行

root@wubi:/usr/java/solr-cloud# vim start-up.sh

然后将以下部分拷贝进去

cd /usr/java/solr-cloud/zookeeper1/bin
./zkServer.sh start
cd ../../zookeeper2/bin
./zkServer.sh start
cd ../../zookeeper3/bin
./zkServer.sh start

修改这个文件权限:

root@wubi:/usr/java/solr-cloud# chmod u+x start-up.sh

 

2. 启动

 

3. 验证

这里可以通过命令来查看以下,哪一个zookeeper是主,那个是从。

这里看到,zookeeper2是主,其他是从。

 

以上是关于zookeeper集群的主要内容,如果未能解决你的问题,请参考以下文章

ZooKeeper伪分布集群安装及使用 RMI+ZooKeeper实现远程调用框架

ZooKeeper 集群启动脚本分析

zookeeper集群配置

使用java代码对zookeeper集群中的solrCloud数据进行CURD

集群启用Kerberos后对Zookeeper的Znode操作异常分析

Zookeeper -- Zookeeper 集群搭建 集群角色说明