Solr集群版搭建Word文档格式.docx
- 文档编号:18646661
- 上传时间:2022-12-30
- 格式:DOCX
- 页数:11
- 大小:702.81KB
Solr集群版搭建Word文档格式.docx
《Solr集群版搭建Word文档格式.docx》由会员分享,可在线阅读,更多相关《Solr集群版搭建Word文档格式.docx(11页珍藏版)》请在冰豆网上搜索。
由于collection由多个shard组成所以collection一般由多个core组成。
2.2.3.Master或Slave
Master是master-slave结构中的主结点(通常说主服务器),Slave是master-slave结构中的从结点(通常说从服务器或备服务器)。
同一个Shard下master和slave存储的数据是一致的,这是为了达到高可用目的。
2.2.4.Shard
Collection的逻辑分片。
每个Shard被化成一个或者多个replication,通过选举确定哪个是Leader。
2.3.需要实现的solr集群架构
Zookeeper作为集群的管理工具。
1、集群管理:
容错、负载均衡。
2、配置文件的集中管理
3、集群的入口
需要实现zookeeper高可用。
需要搭建集群。
建议是奇数节点。
需要三个zookeeper服务器。
搭建solr集群需要7台服务器。
搭建伪分布式:
需要三个zookeeper节点
需要四个tomcat节点。
建议虚拟机的内存1G以上。
3.环境准备
CentOS-6.5-i386-bin-DVD1.iso
jdk-7u72-linux-i586.tar.gz
apache-tomcat-7.0.47.tar.gz
zookeeper-3.4.6.tar.gz
solr-4.10.3.tgz
4.安装步骤
4.1.Zookeeper集群搭建
第一步:
需要安装jdk环境。
第二步:
把zookeeper的压缩包上传到服务器。
第三步:
解压缩。
第四步:
把zookeeper复制三份。
[root@localhost~]#mkdir/usr/local/solr-cloud
[root@localhost~]#cp-rzookeeper-3.4.6/usr/local/solr-cloud/zookeeper01
[root@localhost~]#cp-rzookeeper-3.4.6/usr/local/solr-cloud/zookeeper02
[root@localhost~]#cp-rzookeeper-3.4.6/usr/local/solr-cloud/zookeeper03
第五步:
在每个zookeeper目录下创建一个data目录。
第六步:
在data目录下创建一个myid文件,文件名就叫做“myid”。
内容就是每个实例的id。
例如1、2、3
[root@localhostdata]#echo1>
>
myid
[root@localhostdata]#ll
total4
-rw-r--r--.1rootroot2Apr718:
23myid
[root@localhostdata]#catmyid
1
第七步:
修改配置文件。
把conf目录下的zoo_sample.cfg文件改名为zoo.cfg
server.1=192.168.25.154:
2881:
3881
server.2=192.168.25.154:
2882:
3882
server.3=192.168.25.154:
2883:
3883
第八步:
启动每个zookeeper实例。
启动bin/zkServer.shstart
查看zookeeper的状态:
bin/zkServer.shstatus
4.2.Solr集群的搭建
创建四个tomcat实例。
每个tomcat运行在不同的端口。
8180、8280、8380、8480
部署solr的war包。
把单机版的solr工程复制到集群中的tomcat中。
为每个solr实例创建一个对应的solrhome。
使用单机版的solrhome复制四份。
需要修改solr的web.xml文件。
把solrhome关联起来。
配置solrCloud相关的配置。
每个solrhome下都有一个solr.xml,把其中的ip及端口号配置好。
让zookeeper统一管理配置文件。
需要把solrhome/collection1/conf目录上传到zookeeper。
上传任意solrhome中的配置文件即可。
使用工具上传配置文件:
/root/solr-4.10.3/example/scripts/cloud-scripts/zkcli.sh
./zkcli.sh-zkhost192.168.25.154:
2181,192.168.25.154:
2182,192.168.25.154:
2183-cmdupconfig-confdir/usr/local/solr-cloud/solrhome01/collection1/conf-confnamemyconf
查看zookeeper上的配置文件:
使用zookeeper目录下的bin/zkCli.sh命令查看zookeeper上的配置文件:
[root@localhostbin]#./zkCli.sh
[zk:
localhost:
2181(CONNECTED)0]ls/
[configs,zookeeper]
2181(CONNECTED)1]ls/configs
[myconf]
2181(CONNECTED)2]ls/configs/myconf
[admin-extra.menu-top.html,currency.xml,protwords.txt,mapping-FoldToASCII.txt,_schema_analysis_synonyms_english.json,_rest_managed.json,solrconfig.xml,_schema_analysis_stopwords_english.json,stopwords.txt,lang,spellings.txt,mapping-ISOLatin1Accent.txt,admin-extra.html,xslt,synonyms.txt,scripts.conf,update-script.js,velocity,elevate.xml,admin-extra.menu-bottom.html,clustering,schema.xml]
2181(CONNECTED)3]
退出:
2181(CONNECTED)3]quit
修改tomcat/bin目录下的catalina.sh文件,关联solr和zookeeper。
把此配置添加到配置文件中:
JAVA_OPTS="
-DzkHost=192.168.25.154:
2183"
启动每个tomcat实例。
要包装zookeeper集群是启动状态。
第九步:
访问集群
第十步:
创建新的Collection进行分片处理。
http:
//192.168.25.154:
8180/solr/admin/collections?
action=CREATE&
name=collection2&
numShards=2&
replicationFactor=2
第十一步:
删除不用的Collection。
action=DELETE&
name=collection1
5.使用solrJ管理集群
5.1.添加文档
使用步骤:
把solrJ相关的jar包添加到工程中。
创建一个SolrServer对象,需要使用CloudSolrServer子类。
构造方法的参数是zookeeper的地址列表。
需要设置DefaultCollection属性。
创建一SolrInputDocument对象。
向文档对象中添加域
把文档对象写入索引库。
提交。
@Test
publicvoidtestSolrCloudAddDocument()throwsException{
//第一步:
//第二步:
//参数是zookeeper的地址列表,使用逗号分隔
CloudSolrServersolrServer=newCloudSolrServer("
192.168.25.154:
);
//第三步:
solrServer.setDefaultCollection("
collection2"
//第四步:
SolrInputDocumentdocument=newSolrInputDocument();
//第五步:
document.addField("
item_title"
"
测试商品"
item_price"
100"
id"
test001"
//第六步:
solrServer.add(document);
//第七步:
solrSmit();
}
5.2.查询文档
创建一个CloudSolrServer对象,其他处理和单机版一致。
6.把搜索功能切换到集群版
<
?
xmlversion="
1.0"
encoding="
UTF-8"
beansxmlns="
//www.springframework.org/schema/beans"
xmlns:
context="
//www.springframework.org/schema/context"
xmlns:
p="
//www.springframework.org/schema/p"
aop="
//www.springframework.org/schema/aop"
tx="
//www.springframework.org/schema/tx"
xsi="
//www.w3.org/2001/XMLSchema-instance"
xsi:
schemaLocation="
//www.springframework.org/schema/beanshttp:
//www.springframework.org/schema/beans/spring-beans4.2.xsd
http:
//www.springframework.org/schema/contexthttp:
//www.springframework.org/schema/context/spring-context4.2.xsd
//www.springframework.org/schema/aophttp:
//www.springframework.org/schema/aop/spring-aop4.2.xsdhttp:
//www.springframework.org/schema/txhttp:
//www.springframework.org/schema/tx/spring-tx4.2.xsd
//www.springframework.org/schema/utilhttp:
//www.springframework.org/schema/util/spring-util4.2.xsd"
<
!
--单机版solr服务配置-->
--<
beanid="
httpSolrServer"
class="
org.apache.solr.client.solrj.impl.HttpSolrServer"
<
constructor-argname="
baseURL"
value="
8080/solr"
/constructor-arg>
/bean>
-->
--集群版solr服务-->
beanid="
cloudSolrServer"
class="
org.apache.solr.client.solrj.impl.CloudSolrServer"
constructor-argname="
zkHost"
value="
propertyname="
defaultCollection"
/property>
/beans>
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Solr 集群 搭建