国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
SolrCloud+tomcat7+zookeeper集群配置及使用

solrCloud的主要功能:

主要功能包括強(qiáng)大的全文搜索,點(diǎn)擊顯示,面搜索,動(dòng)態(tài)聚類,數(shù)據(jù)庫集成,豐富的文件(如Word,PDF)處理,和空間搜索,而且他具有高度的可擴(kuò)展性,提供容錯(cuò)的分布式搜索和索引。

         1)集中式的配置信息         2)自動(dòng)容錯(cuò)         3)近實(shí)時(shí)搜索         4)查詢時(shí)自動(dòng)負(fù)載均衡

圖1. Collection大致結(jié)構(gòu)圖


    1、下載https://zookeeper.apache.org/     2、下載http://lucene.apache.org/solr/    3、下載http://tomcat.apache.org/

下面我就開始學(xué)習(xí)之旅:

首先復(fù)制三個(gè)tomcat例如:tomcat-server_1  端口:8080  tomcat-server_2  端口:8090  tomcat-server_3  端口:8100  

一、在分別復(fù)制solr-4.7.0下面的example/webapps的solr.war解壓復(fù)制到tomcat-server_1、tomcat-server_2、tomcat-server_3的webapp下面為solr,分別創(chuàng)建三個(gè)文件夾分別為solr_home_1、solr_home_2、solr_home_3作為存放solr的數(shù)據(jù)。將solr-4.7.0下面example/solr/分別復(fù)制到solr_home_1、solr_home_2、solr_home_3下面。
圖2:


二、分別修改solr_home_1、solr_home_2、solr_home_3下面的solr.xml。

    <solr>            <solrcloud>            <str name="host">${host:}</str>            <int name="hostPort">${jetty.port:8080}</int>//端口分別對(duì)應(yīng)tomcat的端口            <str name="hostContext">${hostContext:solr}</str>            <int name="zkClientTimeout">${zkClientTimeout:30000}</int>            <bool name="genericCoreNodeNames">${genericCoreNodeNames:true}</bool>            </solrcloud>          <shardHandlerFactory name="shardHandlerFactory"            class="HttpShardHandlerFactory">          <int name="socketTimeout">${socketTimeout:0}</int>          <int name="connTimeout">${connTimeout:0}</int>          </shardHandlerFactory>    </solr>    其他solr.xml同理。

三、分別進(jìn)入tomcat-server_1、tomcat-server_2、tomcat-server_3 下面的webapp下面的solr,然后去改WEB-INF下的web.xml,分別為下面的清單:

        <env-entry>               <env-entry-name>solr/home</env-entry-name>               <env-entry-value>D:/solrCloud/solr_home_1</env-entry-value>//定義solr索引所存的地址               <env-entry-type>java.lang.String</env-entry-type>        </env-entry>        <env-entry>               <env-entry-name>solr/home</env-entry-name>               <env-entry-value>D:/solrCloud/solr_home_2</env-entry-value>//定義solr索引所存的地址               <env-entry-type>java.lang.String</env-entry-type>        </env-entry>           <env-entry>               <env-entry-name>solr/home</env-entry-name>               <env-entry-value>D:/solrCloud/solr_home_3</env-entry-value>//定義solr索引所存的地址               <env-entry-type>java.lang.String</env-entry-type>        </env-entry>  

四、分別在tomcat-server_1、tomcat-server_2、tomcat-server_3的bin下面的catalina.bat的添加

    set java_opts=-Dsolr.home=d:/solrCloud/solr_home_1 -Dbootstrap_confdir=D:/solrCloud/solr_home_1/collection1/conf -Dcollection.configName=myconf -DnumShards=2 -DzkHost=127.0.0.1:2181    set JAVA_OPTS=-Dsolr.home=d:/solrCloud/solr_home_2 -DzkHost=127.0.0.1:2181    set JAVA_OPTS=-Dsolr.home=d:/solrCloud/solr_home_3 -DzkHost=127.0.0.1:2181

五、復(fù)制三個(gè)zoo例如:

        zk-server_1  端口:2181        zk-server_2  端口:2182        zk-server_3  端口:2183        在zk-server_1、zk-server_2、zk-server_3下面分別建立兩個(gè)文件夾為data和logs用來存儲(chǔ)數(shù)據(jù)和日志。        分別再data目錄下面創(chuàng)建myid,里面分別寫1、2、3。        配置D:\solrCloud\zk-server_1\conf\zoo.cfg如下:        dataDir=D:/solrCloud/zk-server_1/data        dataLogDir=D:/solrCloud/zk-server_1/logs        clientPort=2181        server.1=127.0.0.1:2888:3888        server.2=127.0.0.1:2889:3889        server.3=127.0.0.1:2890:3890        其他兩個(gè)配置如同上面配置。

圖3:


下面我們啟動(dòng)zk_server1、zk_server2、zk_server3.如下圖:

圖4:


啟動(dòng)時(shí),第一個(gè)報(bào)錯(cuò)是因?yàn)檎也坏狡渌麅蓚€(gè)zk,才會(huì)報(bào)錯(cuò)。這都是不要緊的,三個(gè)啟動(dòng)好了就不會(huì)報(bào)錯(cuò)了。

下面我們?cè)趩?dòng)tomcat-server_1、tomcat-server_2、tomcat-server_3。

圖5:

圖6:

創(chuàng)建

http://127.0.0.1:8080/solr/admin/collections?action=CREATE&name=collection1&numShards=3&replicationFactor=2&maxShardsPerNode=2&collection.configName=myconf

重新加載接口

http://127.0.0.1:8080/solr/admin/collections?action=RELOAD&name=collection1

刪除

http://127.0.0.1:8080s/solr/admin/collections?action=DELETE&name=collection1



清單1. SolrCloud.java

    import java.io.IOException;    import java.util.ArrayList;    import java.util.Collection;    import java.util.Map;    import org.apache.solr.client.solrj.SolrQuery;    import org.apache.solr.client.solrj.SolrServer;    import org.apache.solr.client.solrj.SolrServerException;    import org.apache.solr.client.solrj.impl.CloudSolrServer;    import org.apache.solr.client.solrj.response.QueryResponse;    import org.apache.solr.common.SolrDocument;    import org.apache.solr.common.SolrDocumentList;    import org.apache.solr.common.SolrInputDocument;    public class SolrCloud {            private static CloudSolrServer cloudSolrServer;            private static synchronized CloudSolrServer getCloudSolrServer(final String zkHost) {            if (cloudSolrServer == null) {                try {                        cloudSolrServer = new CloudSolrServer(zkHost);                    } catch (Exception e) {                        e.printStackTrace();                    }            }        return cloudSolrServer;    }    //添加索引    private void addIndex(SolrServer solrServer) {        try {            SolrInputDocument doc1 = new SolrInputDocument();            doc1.addField("id", "421245251215121452521251");            doc1.addField("title", "張三");            SolrInputDocument doc2 = new SolrInputDocument();            doc2.addField("id", "4224558524254245848524243");            doc2.addField("title", "李四");            SolrInputDocument doc3 = new SolrInputDocument();            doc3.addField("id", "4543543458643541324153453");            doc3.addField("title", "王五");            Collection<SolrInputDocument> docs = new ArrayList<SolrInputDocument>();            docs.add(doc1);            docs.add(doc2);            docs.add(doc3);            solrServer.add(docs);            solrServer.commit();        } catch (SolrServerException e) {            System.out.println("Add docs Exception !!!");            e.printStackTrace();        } catch (IOException e) {            e.printStackTrace();        } catch (Exception e) {            System.out.println("Unknowned Exception!!!!!");            e.printStackTrace();        }    }   // 搜索    public void search(SolrServer solrServer, String String) {        SolrQuery query = new SolrQuery();        query.setQuery(String);        try {            QueryResponse response = solrServer.query(query);            SolrDocumentList docs = response.getResults();            for (SolrDocument doc : docs) {                for (Map.Entry<String, Object> entry : doc) {                    System.out.println(entry.getKey()+"="+entry.getValue());                }             }        } catch (SolrServerException e) {            e.printStackTrace();        } catch (Exception e) {            System.out.println("Unknowned Exception!!!!");            e.printStackTrace();        }    }    //刪除    public void deleteAllIndex(SolrServer solrServer) {        try {            solrServer.deleteByQuery("*:*");// delete everything!            solrServer.commit();        } catch (SolrServerException e) {            e.printStackTrace();        } catch (IOException e) {            e.printStackTrace();        } catch (Exception e) {            System.out.println("Unknowned Exception !!!!");            e.printStackTrace();        }    }    public static void main(String[] args) {        final String zkHost = "127.0.0.1:2181,127.0.0.1:2182,127.0.0.1:2183";        final String defaultCollection = "collection1";        final int zkClientTimeout = 20000;        final int zkConnectTimeout = 1000;        CloudSolrServer cloudSolrServer = getCloudSolrServer(zkHost);        System.out.println("The Cloud SolrServer Instance has benn created!");        cloudSolrServer.setDefaultCollection(defaultCollection);        cloudSolrServer.setZkClientTimeout(zkClientTimeout);        cloudSolrServer.setZkConnectTimeout(zkConnectTimeout);        cloudSolrServer.connect();        System.out.println("The cloud Server has been connected !!!!");        SolrCloud test = new SolrCloud();         test.addIndex(cloudSolrServer);         test.search(cloudSolrServer, "id:*");         test.deleteAllIndex(cloudSolrServer);         test.search(cloudSolrServer, "id:*");         System.out.println("hashCode"+test.hashCode());         cloudSolrServer.shutdown();    }}

相關(guān)閱讀

使用Vert.x構(gòu)建Web服務(wù)器和消息系統(tǒng)

RABBITMQ在分布式系統(tǒng)的應(yīng)用


作者信息
作者系力譜宿云 LeapCloud 團(tuán)隊(duì)_云服務(wù)研發(fā)成員:JinYang Zhang【原創(chuàng)】
首發(fā)地址:https://blog.maxleap.cn/archives/977

歡迎關(guān)注微信訂閱號(hào):從移動(dòng)到云端

歡迎加入我們的力譜宿云 LeapCloud 活動(dòng)QQ群:555973817,我們將不定期做技術(shù)分享活動(dòng)。
若有轉(zhuǎn)載需要,請(qǐng)轉(zhuǎn)發(fā)時(shí)注意自帶作者信息一欄并本自媒體公號(hào):力譜宿云 LeapCloud,尊重原創(chuàng)作者的勞動(dòng)成果~ 謝謝配合~

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
solr5.3環(huán)境搭建
solrCloud+tomcat+zookeeper配置
Linux環(huán)境下在tomcat8容器上部署solr搜索引擎服務(wù)器
solr4.5部署到tomcat | 羅生沙博客–分享是一種快樂
分布式搜索之搭建Solrcloud(Solr集群)
深入剖析SolrCloud(二)
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服