(伪分布式)zookeeper+solr搭建集群(2)

来源:互联网 发布:网络模块接法图解 b 编辑:程序博客网 时间:2024/05/18 10:13

二:搭建solr集群并测试(技术版本:jdk1.8.0_144,apache-tomcat-8.5.23,solr-7.0.0)

1.首先搭建4个tomcat和,修改下面的端口(8080~8083)

2.向每个tomcat部署各solr并配置solrHome


3.在每个solrHome文件下面编辑solr.xml

(其中host配置ip,hostPort配置每个solr自身的tomcat端口)


4.把配置文件上传到zookeeper,需要到solr-7.0.0/server/scripts/cloud-scripts使用zkcli.sh上传,如:

这个以一个core为例,想把coreName为core里的conf配置文件上传到上面去

./zkcli.sh -zkhost 192.168.1.103:2181,192.168.1.103:2182,192.168.1.103:2183 -cmd upconfig -confdir /www/solrHome1/core/conf -confname myconf


5.查看zookeeper里面是否有这个文件

随便去个zookeeper文件中的bin文件下面有个zkCli.sh,执行./zkCli.sh

,然后就能查看里面的文件是否有我们上传了的




6.现在去每个tomcat目录下面bin文件夹编辑catalina.sh加上

JAVA_OPTS="-DzkHost=192.168.1.103:2181,192.168.1.103:2182,192.168.1.103:2183"

7.启动每个tomcat


8.可能这个集群不是你collection1不是你们想要的,那就重新创建个

http://192.168.1.103:8080/solr/admin/collections?action=CREATE&name=collection2&numShards=1&replicationFactor=4

也可以手动编辑创建



9.如果collection2不是想要的也能删除

http://192.168.1.103:8080/solr/admin/collections?action=DELETE&name=collection2

也可以手动删除



10.现在写个测试类,首先jar包至少是solr7.0.0版本(小编被这个坑了一晚上)

public class Solrtest {    public static void main(String[] args) throws Exception {String str = "192.168.1.103:2181,192.168.1.103:2182,192.168.1.103:2183";        CloudSolrClient solrServer = new CloudSolrClient.Builder().withZkHost(str).build();        //设置默认的collection        solrServer.setDefaultCollection("collection1");        //创建一个文档对象        SolrInputDocument document = new SolrInputDocument();        document.addField("id", "test01");        document.addField("item_title", "title1");        //添加文档        solrServer.add(document);        //提交        solrServer.commit();}}