solrCloud搭建的方式方法

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。java

    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'web

       若是是windows下則catalina.bat添加以下:apache

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

        ②在子節點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

        若是是windows下則catalina.bat添加以下:tomcat

            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
app

       

        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 myconfwebapp


    6.配置solr.xml文件spa

    <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>

相關文章
相關標籤/搜索