hdfs環境搭建,solr集群solrCloud的搭建

 2023-12-06 阅读 18 评论 0

摘要:  上一章講了solr單機版的搭建,本章將講解sole集群的搭建。solr集群的搭建需要使用到zookeeper,搭建參見zookeeper集群的安裝 hdfs環境搭建、一、solr實例的搭建 1.?tomcat安裝 hadoop集群搭建。? ?這里我們需要4個tomcat,分別是tomcat1,2,3,4      同時

  上一章講了solr單機版的搭建,本章將講解sole集群的搭建。solr集群的搭建需要使用到zookeeper,搭建參見zookeeper集群的安裝

hdfs環境搭建、一、solr實例的搭建

1.?tomcat安裝

hadoop集群搭建。? ?這里我們需要4個tomcat,分別是tomcat1,2,3,4

  

  同時修改tomcat1,2,3,4的端口為8080-8083。保證兩個tomcat可以正常運行不發生端口沖突。

2.解壓solr-4.10.3.tar.gz壓縮包。從壓縮包中復制/solr-4.10.3/dist/solr-4.10.3.war到tomcat1,并重命名為solr.war。

 

  

3.啟動tomcat,解壓solr.war。解壓成功后關閉tomcat,刪除solr.war

4.將solr日志相關的jar包拷貝到解壓的solr項目的lib包中

  

5.創建solrhome文件

  這里直接拷貝單機版中創建的solrhome

?

6.修改tomcat1-4中的solr的web.xml對應的env-entry-value值為/usr/local/solrcloud/solrhome1-4,指定對應的solrhome

  

?

7.其他的配置參見solr單機版的搭建

?

?二、solr集群的搭建

  1.把solrhome中的配置文件上傳到zookeeper集群。使用zookeeper的客戶端上傳。

   ?使用solr安裝包中的/opt/mysoft/solr-4.10.3/example/scripts/cloud-scripts中的zkcli.sh

  

  運行命令

./zkcli.sh -zkhost 192.168.198.130:2181,192.168.198.130:2182,192.168.198.130:2183 -cmd upconfig -confdir /usr/local/solrcloud/solrhome1/collection1/conf -confname myconf

?

  查看運行是否成功,使用zookeeper中的腳本

2.修改solrhome1-4下的solr.xml文件,指定當前實例運行的ip地址及端口號8080-8083。

?

3.修改每一臺solr的tomcat?的?bin目錄下catalina.sh文件中加入DzkHost指定zookeeper服務器地址:

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

4.重啟tomcat

?查看運行結果

5.創建一個兩片的collection,每片是一主一備

http://192.168.198.130:8080/solr/admin/collections?action=CREATE&name=collection2&numShards=2&replicationFactor=2  

回到主界面查看

6.刪除collection1

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

查看主界面

三、java測試代碼

@Testpublic void testAddDocument() throws Exception {//創建一個和solr集群的連接//參數就是zookeeper的地址列表,使用逗號分隔String zkHost = "192.168.198.130:2181,192.168.198.130:2182,192.168.198.130:2183";CloudSolrServer solrServer = new CloudSolrServer(zkHost);//設置默認的collectionsolrServer.setDefaultCollection("collection2");//創建一個文檔對象SolrInputDocument document = new SolrInputDocument();//向文檔中添加域document.addField("id", "test001");document.addField("item_title", "測試商品");//把文檔添加到索引庫
        solrServer.add(document);//提交
        solrServer.commit();}@Testpublic void queryDocument() throws Exception{//創建一個和solr集群的連接//參數就是zookeeper的地址列表,使用逗號分隔String zkHost = "192.168.198.130:2181,192.168.198.130:2182,192.168.198.130:2183";CloudSolrServer solrServer = new CloudSolrServer(zkHost);//設置默認的collectionsolrServer.setDefaultCollection("collection2");        solrServer.deleteByQuery("*:*");solrServer.commit();}

四、spring集成

<bean id="cloudSolrServer" class="org.apache.solr.client.solrj.impl.CloudSolrServer"> <constructor-arg name="zkHost" value="192.168.25.154:2181,192.168.25.154:2182,192.168.25.154:2183"></constructor-arg> <property name="defaultCollection" value="collection2"></property>
</bean>

java代碼使用方法不變,因為SolrServer是CloudSolrServer的父類

?

轉載于:https://www.cnblogs.com/mouseIT/p/5301966.html

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/3/192218.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息