Apace Solr集羣/SolrCould搭建與配置

簡介

什麼是SolrCloud

  SolrCloud(solr 雲)是Solr提供的分佈式搜索方案,當你需要大規模,容錯,分佈式索引和檢索能力時使用 SolrCloud。當一個系統的索引數據量少的時候是不需要使用SolrCloud的,當索引量很大,搜索請求併發很高,這時需要使  用SolrCloud來滿足這些需求。

  SolrCloud是基於Solr和Zookeeper的分佈式搜索方案,它的主要思想是使用Zookeeper作爲集羣的配置信息中心。

  它有幾個特色功能:

  1)集中式的配置信息

  2)自動容錯

  3)近實時搜索

  4)查詢時自動負載均衡

Zookeeper是個什麼玩意?

  顧名思義zookeeper就是動物園管理員,他是用來管hadoop(大象)、Hive(蜜蜂)、pig(小豬)的管理員, Apache Hbase和 Apache Solr 的分佈式集羣都用到了zookeeper;Zookeeper:是一個分佈式的、開源的程序協調服務,是hadoop項目下的一個子項目。

 


搭建步驟 :

1、首先搭建Zookeeper集羣 https://blog.csdn.net/zenmin2015/article/details/86415446 

2、複製四個tomcat 並且修改不同端口號

3、把solr的webapp放入tomcat的webapps內

4、新建四個solrhome文件夾

5、修改solrhome/solr.xml文件  指定ip和端口

6、修改webapps/solr/solr.xml指定solrhome目錄

7、修改每個Tomcat的bin/catalina.sh文件中的JAVA_OPTS增加zk節點

JAVA_OPTS="-DzkHost“192.168.25.133:2182,192.168.25.133:2183,192.168.25.133:2184"

8、使用工具上傳Solrhome的配置文件到Zookeeper進行管理

工具位置在/root/solr-4.10.3/example/scripts/cloud-scripts/zkcli.sh

執行命令

./zkcli.sh -zkhost 192.168.25.133:2182,192.168.25.133:2183,192.168.25.133:2184 -cmd upconfig -confdir /usr/local/solr-cloud/solrhome01/collection1/conf -confname myconf

所有節點共用這一個配置文件

9、連接Zookeeper   Zookeeper/bin 默認不帶-server參數是2181端口

./zkCli.sh -server 192.168.25.133:2182

10、創建新的Collection進行分片處理。

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

完成。


Java連接集羣:

@Test
public void testSolrCloud() throws SolrServerException, IOException {
	// 創建CloudSolrServer 包含Zookeeper的節點ip 注意 這是不是直接連接Solr了 而是連接的Zookeeper節點
	CloudSolrServer cloudSolrServer = new CloudSolrServer(
			"192.168.25.133:2182,192.168.25.133:2183,192.168.25.133:2184");
	// 設置默認Collection
	cloudSolrServer.setDefaultCollection("collection2");
	// 創建一個文檔對象
	SolrInputDocument document = new SolrInputDocument();
	// 添加域
	document.addField("id", "test11111");
	// 添加文檔
	cloudSolrServer.add(document);
	// 提交
	cloudSolrServer.commit();

}

 

Spring整合版的SpringData Solr文檔:

https://docs.spring.io/spring-data/solr/docs/4.0.4.RELEASE/reference/html/

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章