文档章节

solrCloud搭建的方式方法

皮蛋瘦肉粥里没有粥
 皮蛋瘦肉粥里没有粥
发布于 2015/02/04 15:27
字数 784
阅读 64
收藏 0

solrCloud搭建的方式方法
    1.zoookeeper集群搭建
        ①下载zookeeper解压,将conf目录下的zoo_sample.cfg文件重命名为:zoo.cfg。
        ②在某个盘符下面新建data和logs两个文件夹,并将zoo.cfg文件的dataDir指向data目录,dataLogDir指向logs目录。如下:
            dataDir=D:/zookeeper1/data
            dataLogDir=D:/zookeeper1/logs
        ③在data目录下新建myid文件,内容为1。如果多个zookeeper的话就需要建立多个data和logs,并且myid的内容必须不相同。
        ④配置zookeeper服务器。在zoo.cfg文件中已server.A=B:C:D形式添加相应的服务器。
            A:myid的值
            B:zookeeper服务器的IP
            C:端口号
            D:备用端口号
        ⑤zoo.cfg文件中端口号clientPort的修改。如果有多个zookeeper,则clientPort不一致
        
    2.启动集群,查看运行状态。
        ①依次运行各个服务器:zkServer.sh start启动   zkServer.sh status查看状态。可能会提示错误,没关系,全部启动就好了。
        ②连接主服务器:zkCli.sh -server IP:clientPort(端口号)。
    
    3.在tomcat上启动solr。

    4.将tomcat与zookeeper关联起来。
        ①在主节点tomcat/bin目录下的catalina.sh文件中添加如下代码:
            JAVA_OPTS='$JAVA_OPTS -DzkHost=127.0.0.1:2181,127.0.0.1:2182,127.0.0.1:2183 -
Dbootstrap_confdir=/usr/bizwork/solrCloud/solr/order_core/conf -Dcollection.configName=myconf  -DnumShards=3'

       如果是windows下则catalina.bat添加如下:

        set JAVA_OPTS=-Dbootstrap_confdir=D:\\solr-home\\myCore\\conf -Dcollection.configName=myConf -DzkRun -DzkHost=127.0.0.1:2181 -DnumShards=3 -Dbootstrap_conf=true

        ②在子节点tomcat/bin目录下的catalina.sh文件中添加如下代码:
            JAVA_OPTS='$JAVA_OPTS -DzkHost=127.0.0.1:2181,127.0.0.1:2182,127.0.0.1:2183 -DnumShards=3 -Dbootstrap_conf=true'

        如果是windows下则catalina.bat添加如下:

            set JAVA_OPTS=-DzkRun -DzkHost=127.0.0.1:2181 -DnumShards=3 -Dbootstrap_conf=true

                       
    5.将主服务器的配置文件上传到zookeeper,便于其他服务器共享一个配置文件。
        java -classpath D:/solrCloud/tomcat1/webapps/solr/WEB-INF/lib/*
        org.apache.solr.cloud.ZkCLI -cmd upconfig -zkhost 127.0.0.1:2181,127.0.0.1:2182,127.0.0.1:2183 -confdir D:/solrCloud/solr1/myCore/conf -confname myconf

       

        java -classpath .:/usr/bizwork/tomcat-pay-solr/mywebapps/solr/WEB-INF/lib/*
org.apache.solr.cloud.ZkCLI -zkhost 127.0.0.1:2181,127.0.0.1:2182,127.0.0.1:2183
-cmd linkconfig -collection order_core -confname myconf


    6.配置solr.xml文件

    <solrcloud>
        <str name="host">${host:}</str>
        <int name="hostPort">${port:8070}</int>
        <str name="hostContext">${hostContext:solr}</str>
        <int name="zkClientTimeout">${zkClientTimeout:30000}</int>
        <bool name="genericCoreNodeNames">${genericCoreNodeNames:true}</bool>
        <str name="zkHost">127.0.0.1:2181,127.0.0.1:2182,127.0.0.1:2183</str>
  </solrcloud>

    7.在solr_home/solr/order_core/conf/solrconfig.xml配置服务器数据主从同步。
        ①在Master里面的配置如下:
            <requestHandler name="/replication" class="solr.ReplicationHandler" >
              <lst name="master">
                <str name="replicateAfter">commit</str> <!-- master上有数据写入时,触发commit操作,slave就会发起一次同步请求-->
                <str name="replicateAfter">startup</str> <!-- startup参数不影响同步请求-->
                <str name="replicateAfter">optimize</str> <!-- master触发optimize操作,slave就会发起一次同步请求-->
                <str name="confFiles">schema.xml,mapping-ISOLatin1Accent.txt,protwords.txt,stopwords.txt,synonyms.txt,elevate.xml</str> <!-- 除

了索引同步外,一些配置文件的同步,默认是在conf目录下 -->
                <str name="commitReserveDuration">00:10:00</str>
              </lst>
            </requestHandler>

        ②各个Slave上的配置如下:
            <requestHandler name="/replication" class="solr.ReplicationHandler" >            
                   <lst name="slave">                    
                     <!-- masterUrl代表主机的solr路径,如果存在多个core时,地址写http://localhost:9001/solr/(core名)  即可 -->
                     <str name="masterUrl">http://192.168.0.181:9883/solr/order_core/replication</str>
                        <str name="pollInterval">00:10:00</str> <!-- 同步时间间隔10分钟一次 -->
                        <str name="compression">internal</str>
                        <str name="httpConnTimeout">5000</str>
                        <str name="httpReadTimeout">10000</str>
                   </lst>                
              </requestHandler>





        ③各solrconfig.xml配置
         <!--容错查询-->
           <requestHandler name="/select" class="solr.SearchHandler">
            <lst name="defaults">
                <str name="echoParams">explicit</str>
                <str name="shards.tolerant">true</str>
                <int name="rows">10</int>
                <str name="df">text</str>
            </lst>
          </requestHandler>

© 著作权归作者所有

共有 人打赏支持
皮蛋瘦肉粥里没有粥
粉丝 11
博文 58
码字总数 20373
作品 0
朝阳
后端工程师
windows solrcloud伪分布式搭建

一 、概述 最近几个月装了好几次windows solrcloud伪分布式,参考了其他博客,我自己也总结了一下,包含一些注意和一些错误的解决方法。 参考博客: http://blog.csdn.net/wanghui2008123/ar...

小叮当_加V
2016/12/14
90
0
solr集群solrCloud搭建

SolrCloud(solr 云)是Solr提供的分布式搜索方案,当你需要大规模,容错,分布式索引和检索能力时使用 SolrCloud。 当一个系统的索引数据量少的时候是不需要使用SolrCloud的,当索引量很大,搜...

黄信程
2017/07/04
0
0
Java之品优购部署_day01(5)

SolrCloud 2.1 SolrCloud 简介 2.1.1 什么是 SolrCloud SolrCloud(solr 云)是 Solr 提供的分布式搜索方案,当你需要大规模,容错,分布式索引和检索能力时使用 SolrCloud。当一个系统的索引数...

我是小谷粒
07/09
0
0
Spring Boot 中使用 SolrCloud

Lucene是一个Java语言编写的利用倒排原理实现的文本检索类库; Solr是以Lucene为基础实现的文本检索应用服务。Solr部署方式有单机方式、多机Master-Slaver方式、Cloud方式。 SolrCloud是基于...

PengLei
2017/10/19
0
0
SolrCloud和MultiCore的区别

一、SolrCloud 与 MultiCore 的本质区别SolrCloud 用多台机搭建一个SolrCore(即整个系统只有一套schema,solrconfig)MultiCore 是多个独立的服务,不同的core可以用几套schema,solrconfi...

clebeg
2013/09/19
0
1

没有更多内容

加载失败,请刷新页面

加载更多

下一页

python3.6 取余运算

python中取余运算逻辑如下: 如果a 与d 是整数,d 非零,那么余数 r 满足这样的关系: a = qd + r , q 为整数,且0 ≤ |r| < |d|。 经过测试可发现,python3.6中取余运算得到的 r 是正整数;...

colinux
16分钟前
1
0
[雪峰磁针石博客]软件测试专家工具包1web测试

web测试 本章主要涉及功能测试、自动化测试(参考: 软件自动化测试初学者忠告) 、接口测试(参考:10分钟学会API测试)、跨浏览器测试、可访问性测试和可用性测试的测试工具列表。 安全测试工具...

python测试开发人工智能安全
今天
3
0
JS:异步 - 面试惨案

为什么会写这篇文章,很明显不符合我的性格的东西,原因是前段时间参与了一个面试,对于很多程序员来说,面试时候多么的鸦雀无声,事后心里就有多么的千军万马。去掉最开始毕业干了一年的Jav...

xmqywx
今天
3
0
Win10 64位系统,PHP 扩展 curl插件

执行:1. 拷贝php安装目录下,libeay32.dll、ssleay32.dll 、 libssh2.dll 到 C:\windows\system32 目录。2. 拷贝php/ext目录下, php_curl.dll 到 C:\windows\system32 目录; 3. p...

放飞E梦想O
今天
1
0
谈谈神秘的ES6——(五)解构赋值【对象篇】

上一节课我们了解了有关数组的解构赋值相关内容,这节课,我们接着,来讲讲对象的解构赋值。 解构不仅可以用于数组,还可以用于对象。 let { foo, bar } = { foo: "aaa", bar: "bbb" };fo...

JandenMa
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部