在linux上搭建Solr集群的方法有哪些?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
什么是SolrCloud
SolrCloud(solr 云)是Solr提供的分布式搜索方案,当你需要大规模,容错,分布式索引和检索能力时使用 SolrCloud。当一个系统的索引数据量少的时候是不需要使用SolrCloud的,当索引量很大,搜索请求并发很高,这时需要使用SolrCloud来满足这些需求。
SolrCloud是基于Solr和Zookeeper的分布式搜索方案,它的主要思想是使用Zookeeper作为集群的配置信息中心。
Solr集群的系统架构
需要实现的solr集群架构
Zookeeper作为集群的管理工具。
1、集群管理:容错、负载均衡。
2、配置文件的集中管理
3、集群的入口
需要实现zookeeper 高可用。需要搭建集群。建议是奇数节点。需要三个zookeeper服务器。 投票选举 需要超过半数以上
搭建solr集群需要7台服务器。
搭建伪分布式:
需要三个zookeeper节点
需要四个tomcat节点。
建议虚拟机的内容1G以上。
一.在linux上安装zookeeper集群 https://blog.csdn.net/lushizhuo9655/article/details/109135460
二.在linux上搭建solr集群
Solr集群的搭建
根据单机版的操作安装好solr和对应的业务域 https://blog.csdn.net/lushizhuo9655/article/details/109033855
第一步:创建四个tomcat实例。每个tomcat运行在不同的端口。8180、8280、8380、8480
cd /root cp -r apache-tomcat-7.0.47 /usr/local/solr-cloud/tomcat01 cp -r apache-tomcat-7.0.47 /usr/local/solr-cloud/tomcat02 cp -r apache-tomcat-7.0.47 /usr/local/solr-cloud/tomcat03 cp -r apache-tomcat-7.0.47 /usr/local/solr-cloud/tomcat04 cd /usr/local/solr-cloud/ ll
第二步:部署solr的war包。把单机版的solr工程复制到集群中的tomcat中。(记得每个tomcat的端口要记得修改 每个tomcat改三个端口)
cp -r ../solr/tomcat/webapps/solr/ tomcat01/webapps/ cp -r ../solr/tomcat/webapps/solr/ tomcat02/webapps/ cp -r ../solr/tomcat/webapps/solr/ tomcat03/webapps/ cp -r ../solr/tomcat/webapps/solr/ tomcat04/webapps/ vim tomcat01/conf/server.xml vim tomcat02/conf/server.xml vim tomcat03/conf/server.xml vim tomcat04/conf/server.xml
第三步:为每个solr实例创建一个对应的solrhome。使用单机版的solrhome复制四份。
cp -r ../solr/solrhome/ solrhome01 cp -r ../solr/solrhome/ solrhome02 cp -r ../solr/solrhome/ solrhome03 cp -r ../solr/solrhome/ solrhome04
第四步:需要修改solr的web.xml文件。把solrhome关联起来。
vim tomcat01/webapps/solr/WEB-INF/web.xml vim tomcat02/webapps/solr/WEB-INF/web.xml vim tomcat03/webapps/solr/WEB-INF/web.xml vim tomcat04/webapps/solr/WEB-INF/web.xml
改成对应的02 03 04
第五步:配置solrCloud相关的配置。每个solrhome下都有一个solr.xml,把其中的ip及端口号配置好。
vim solrhome01/solr.xml vim solrhome02/solr.xml vim solrhome03/solr.xml vim solrhome04/solr.xml
第六步:修改tomcat/bin目录下的catalina.sh 文件,关联solr和zookeeper。
cd tomcat01/bin/ ll vim catalina.sh
把此配置添加到配置文件中:
JAVA_OPTS="-DzkHost=192.168.0.245:2181,192.168.0.245:2182,192.168.0.245:2183"
cd .. cd .. vim tomcat02/bin/catalina.sh vim tomcat03/bin/catalina.sh vim tomcat04/bin/catalina.sh
配置文件都加上那一句配置的代码
第七步:让zookeeper统一管理配置文件。需要把solrhome/collection1/conf目录上传到zookeeper。上传任意solrhome中的配置文件即可。
cd solrhome01 ll cd collection1/conf
使用工具上传配置文件:/root/solr-4.10.3/example/scripts/cloud-scripts/zkcli.sh
cd /root/solr-4.10.3/example/scripts/cloud-scripts/
配置文件的文件夹上传到zookeeper
./zkcli.sh -zkhost 192.168.0.245:2181,192.168.0.245:2182,192.168.0.245:2183 -cmd upconfig -confdir /usr/local/solr-cloud/solrhome01/collection1/conf -confname myconf
查看zookeeper上的配置文件:
使用zookeeper目录下的bin/zkCli.sh命令查看zookeeper上的配置文件:
./zkCli.sh
退出:
quit
使用以下命令连接指定的zookeeper服务:
./zkCli.sh -server 192.168.0.245:2183
此时表明,配置文件已经上传到zookeeper上了
第八步:启动每个tomcat实例。要包装zookeeper集群是启动状态。
cd .. cd .. ll vim start-tomcat-all.sh
/usr/local/solr-cloud/tomcat01/bin/startup.sh /usr/local/solr-cloud/tomcat02/bin/startup.sh /usr/local/solr-cloud/tomcat03/bin/startup.sh /usr/local/solr-cloud/tomcat04/bin/startup.sh
chmod u+x start-tomcat-all.sh ./start-tomcat-all.sh
看是否起来了
tail -f /usr/local/solr-cloud/tomcat01/logs/catalina.out tail -f /usr/local/solr-cloud/tomcat02/logs/catalina.out tail -f /usr/local/solr-cloud/tomcat03/logs/catalina.out tail -f /usr/local/solr-cloud/tomcat04/logs/catalina.out
第九步:访问集群 http://192.168.0.245:8180/solr 发现比单机的多了个cloud
第十步:创建新的Collection进行分片处理。 直接在浏览器
http://192.168.0.245:8180/solr/admin/collections?action=CREATE&name=collection2&numShards=2&replicationFactor=2
第十一步:删除不用的Collection。
http://192.168.0.245:8180/solr/admin/collections?action=DELETE&name=collection1
看完上述内容,你们掌握在linux上搭建Solr集群的方法有哪些的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注亿速云行业资讯频道,感谢各位的阅读!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。