前言
当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是主,其他是从。