SolrCloud()是solr提供的分布式搜索方案.
第一阶段:搭建zookeeper集群
这里做集群 先给zookeeper做一个伪集群.(即一台服务器下面改变zookeeper的端口)
第一步:
cp 三份zookeeper文件 到新建文件夹cluster-solr
这样一来就有了三份文件 分别是zookeeper01 zookeeper02 zookeeper03
在 三个文件下面 分别创建data文件夹 在data文件夹下面 再次创建一个文件myid(用作存放端口)
第二步:
cd 到data echo 1>>myid
cd 到zookeeper/conf
mv zoo_sample.cfg zoo.cfg
三份文件依次操作,clientPort依次加一端口
server.1 2 3 copy进去
第三步:
创建脚本文件依次启动:
zookeeper_start_all.sh
追加命令 chmod u+x zookeeper_start_all.sh 让其变成可执行文件.
执行该文件可知
有两个follower
一个leader
zookeeper集群搭建完毕
第二阶段:搭建solr集群
第一步:
cp 四个tomcat到指定目录。
分别修改端口服务器
vim tomcat01/conf/server.xml
依次修改端口 在8后面依次加1第二个tomcat加2for
第二步
cp solrhome 到zookeeper 下面
修改solr.xml的ip地址和端口
vim /user/local/solr-cloud/tomcat01/webapps/solr/WEB-INF/web.xml
让tomcat服务器与solr作关联
第三步
启动zookeeper01 02 03
cd /user/local/zookeeper-cloud/zookeeper02/bin
./zkCli.sh
连接到zookeeper
(在这里需要指定端口可以这样写 如果端口被其他程序占用会报错,他自身默认的端口为2181,我这里写的端口为2182
./zkCli.sh -server192.xx.xx.xx:2182)
第四步
cd /root/solr-4.10.3/example/scripts/cloud-scripts/
执行命令上传
./zkcli.sh -zkhost 192.168.25.128:2182,192.168.25.128:2183,192.168.25.128:21834 -cmd upconfig -confdir /user/local/solr-cloud/solrhome02/collection1/conf -confname myconf
在回过去查看:
这样就表示成功了.
这样solr集群就搭建完成了。
第三阶段:将zookeeper集群和solr集群关联
第一步:
修改Java虚拟机配置项
依次在语法前面加入:JAVA_OPTS="-DzkHost=192.168.25.128:2182,192
.168.25.128:2183,192.168.25.128:2184"
第二步:
先启动zookeeper集群:
在启动solr-cloud里面的tomcat
输入地址访问:
solrcloud的物理 和逻辑结构是这样的:
创建collcetion进行切片处理
浏览器输入以下进行分片
http://192.168.25.128:8180/solr/admin/collections?action=CREATE&name=collection2&numShards=2&replicationFactor=2
这段话的意思就是:
action=CREATE&name=collection2
创建一个名字为coolection2的切片
numShards=2
创建两份切片
replicationFactor=2
并且作两个备份.
删除不常用的collction
http://192.168.25.128:8180/solr/admin/collections?action=DELETE&name=collection1
还可以在schema.xml中看到自己定义的域。
solr集群搭建完毕。