Solr集群
来源:互联网 发布:淘宝一元换购怎么设置 编辑:程序博客网 时间:2024/05/29 14:54
Solr的架构
SolrCloud需要用到solr+zookeeper
Zookeeper
1、集群管理
主从的管理、负载均衡、高可用的管理。集群的入口。Zookeeper必须是集群才能保证高可用。Zookeeper有选举和投票的机制。集群中至少应该有三个节点。
2、配置文件的集中管理
搭建solr集群时,需要把Solr的配置文件上传zookeeper,让zookeeper统一管理。每个节点都到zookeeper上取配置文件。
集群搭建步骤
第一部分:Zookeeper集群搭建
第一步:需要把zookeeper的安装包上传到服务器。
第二步:把zookeeper解压。
第三步:把zookeeper向/usr/local/solr-cloud目录下复制三份。
第三步:配置zookeeper。
1、在zookeeper01目录下创建一个data文件夹。
2、在data目录下创建一个myid的文件
3、Myid的内容为1(02对应“2”,03对应“3”)
4、Zookeeper02、03以此类推。
5、进入conf文件,把zoo_sample.cfg文件改名为zoo.cfg
6、修改zoo.cfg,把dataDir=属性指定为刚创建的data文件夹。
7、修改zoo.cfg,把clientPort指定为不冲突的端口号(01:2181、02:2182、03:2183)
8、在zoo.cfg中添加如下内容:
server.1=192.168.xx.xxx:2881:3881
server.2=192.168.xx.xxx:2882:3882
server.3=192.168.xx.xxx:2883:3883
第四步:启动zookeeper。
Zookeeper的目录下有一个bin目录。使用zkServer.sh启动zookeeper服务。
启动:./zkServer.sh start
关闭:./zkServer.sh stop
查看服务状态:./zkServer.sh status
第二部分:搭建solr集群
第一步:安装四个tomcat,修改其端口号不能冲突。8080~8083
第二步:向tomcat下部署solr。把单机版的solr工程复制到tomcat下即可。
第三步:为每个solr实例创建一solrhome。
第四步:为每个solr实例关联对应的solrhome。修改web.xml
第五步:修改每个solrhome下的solr.xml文件。修改host、hostPort两个属性。分别是对应的ip及端口号。
第六步:把配置文件上传到zookeeper。需要使用
/root/solr-4.10.3/example/scripts/cloud-scripts/zkcli.sh命令上传配置文件。
把/usr/local/solr-cloud/solrhome01/collection1/conf目录上传到zookeeper。(只需上传一个solrhome的配置文件)
需要zookeeper集群已经启动。
./zkcli.sh -zkhost 192.168.xx.xxx:2181,192.168.xx.xxx:2182,192.168.xx.xxx:2183 -cmd upconfig -confdir /usr/local/solr-cloud/solrhome01/collection1/conf -confname myconf
第七步:查看是否上传成功。
使用zookeeper的zkCli.sh命令。
第八步:告诉solr实例zookeeper的位置。需要修改tomcat的catalina.sh添加
JAVA_OPTS="-DzkHost=192.168.xx.xxx:2181,192.168.xx.xxx:2182,192.168.xx.xxx:2183"
每个节点都需要添加。
第九步:启动每个solr实例。
第十步:集群分片。
将集群分为两片,每片两个副本。 http://192.168.xx.xxx:8080/solr/admin/collections?action=CREATE&name=collection2&numShards=2&replicationFactor=2
第十一步:删除不用collection1 http://192.168.xx.xxx:8080/solr/admin/collections?action=DELETE&name=collection1
SolrJ操作集群
public void testSolrCloud() throws Exception{ CloudSolrServer solrServer = new CloudSolrServer("192.168.60.128:2181,192.168.60.128:2182,192.168.60.128:2183"); //创建默认的collection solrServer.setDefaultCollection("collection2"); SolrInputDocument document = new SolrInputDocument(); document.addField("id", "123456"); document.addField("item_title", "手机"); solrServer.add(document); solrServer.commit(); }
- solr 集群
- solr集群
- Solr集群
- Solr集群
- solr集群
- Solr集群
- solr集群
- solr集群
- 【Solr】 Solr集群概念介绍
- Solr集群的搭建(solr集群架构 solr部分)
- solr集群环境搭建
- Solr主从集群复制
- solr+zookeeper集群搭建
- solr 主从集群2
- Solr集群的搭建
- Solr集群安装部署
- solr cloud 集群搭建
- solr集群搭建
- Kotlin概述与Java的比较
- css使用方法和选择器、优先级别和权值
- spring自定义标签原理
- win10下导入theano报错
- Python Code: 利用QQ邮箱发送邮件,解决SMTPAuthenticationError:530错误
- Solr集群
- 有备无患--Java面试题集绵
- Deep Learning(深度学习)学习笔记整理系列之(一)
- Java的重载和覆盖
- 【hihocoder】字符消除
- Deep Learning(深度学习)学习笔记整理系列之(二)
- 安卓控件属性
- Android实现刮刮卡效果
- Deep Learning(深度学习)学习笔记整理系列之(三)