Solr集群更新配置的方式

  solr集群中配置文件是经常更新的,频率最高的也就是schema.xml和solrconfig.xml这两个配置文件了,对于更新配置文件之前,我们先了解一下集群项目结构

  由于在集群模式下,solrconfig.xml和schema.xml等配置文件都由Zookeeper集群管理,所以本地项目中只保留单一shard分片,各个collections分片保存位置是solr根目录下的server/solr/下,这个目录下有一个solr.xml文件,然后可以随便进入一个shard目录,可以看到只有一个data目录和一个core.properties文件,其中data目录存放solr备份的索引数据、core.properties文件通过vim编译可以看到这里面保存了shard序号,collections名称,核子节点的名称等等;另外官方文档也给出了对应的solrcloud本地的目录结构:

<solr-home-directory>/
  solr.xml
  core_name1/
    core.properties
    data/
  core_name2/
    core.properties
    data/

  这种结构和我们看到的是一样的

  根据以上的目录结构,所以我们更新配置必须将配置文件更新到Zookeeper集群才可以正常生效,之前在网上查过一些资料,好多都是无效或者过时的,用过一段时间的一个方法就是,首先登录zookeeper,删除原有的schema.xml文件,然后进行配置的上传,上传完成后并不是立即生效的,所以要依次重启solr集群,首先说明这个方法是有效的,但是感觉太麻烦;另外由于生产过程中,随便重启solr服务就和重启服务器一样会造成一定的损失或者风险,所以这种方式明显不合理,尽管我们一直在使用;实际上最好的解决方法在官方文档已经给出了,这个需要我们自己慢慢探索,这里解决方法如下:

  比如我们修改schema.xml配置文件之后,根本不用登录zookeeper删除原有文件,文件会自动覆盖,这里直接上传即可,命令如下:

./server/scripts/cloud-scripts/zkcli.sh -zkhost localhost:2181 -cmd putfile /solr/configs/my_config/schema.xml ../configs/conf/schema.xml

  参数putfile指定配置文件在zookeeper上的绝对路径,这里注意是配置的路径,不是collection的路径,二者名称不相同,后面跟的是修改之后本地schema.xml配置文件的路径

  上传文件之后,我们通过solr admin管理界面都可以看到文件内容更新了,有2种方法可以查看到

  

  

  但是我们去Update、Query时会出错,浏览Schema字段时没有更新,很明显配置没有生效;接下来就是最重要的一步,我们找到官方文档的collections API位置,可以看到有一个如下的API:

  

  RELOAD这个API就是重新加载collection,不用重启solr,点击锚点可以看到具体使用解释如下:

  

  可以看到解释的很清楚了,经过上一步更新覆盖了配置文件之后,我们只需要curl或者访问以下链接即可:

http://localhost:8983/solr/admin/collections?action=RELOAD&name=my_collection

  访问之后,返回success,就重新加载核心成功了,全部正常使用

  以上对于更新collections配置文件的这个过程其实也是解决问题的一个过程,首先我们应该充分理解我们使用的工具或者框架具体是做什么的或者说哪方面是有优势的,以及更深的实现机制和原理,多去对比,这样遇到问题的时候才可以做到知道这个问题而不会不知所措;另外有些地方不合理,是为什么不合理,会给生产带来哪些不好的影响以及潜在的风险;然后带着这些问题去搜索,建议查看官方文档,特别是大数据方面直接在搜索引擎搜索出来的结果大多是互相抄袭、过时、甚至错误的,这个时候就要充分的去品味官方文档中的解释,然后去自己思考,这样慢慢的自己的知识就健全了,慢慢的自己的内功也就提升了,相对来说也就慢慢的进入了高手的行列;对于初学者不知所措是很正常的,个人认为重要的还是坚持锲而不舍的研究,只有这样才可以跟随技术的进步

  最后在学习工作中,总结一句话就是:永不放弃、知其然知其所以然、授人以鱼,不如授之以渔

时间: 2024-08-08 05:01:54

Solr集群更新配置的方式的相关文章

solr集群的理解和配置(待更新)

solr部署在tomcat下,solr集群包含tomcat集群和zookeeper集群: zookeeper:1.对象注册和发放中心,实现异步调用. 2.配置中心.(solrConfig.xml,schame.xml) linux下配置solrCloud:环境准备: 1.zookeeper集群配置:g 修改其配置:交互地址 solr页面查看: 集群分片: (模拟多台服务器) 在solr.xml中配置集群对象: <!-- 把集群对象交给spirng管理 --> <bean class=&q

solrcloud(solr集群版)安装与配置

1 Solr集群 1.1 什么是SolrCloud SolrCloud(solr 云)是Solr提供的分布式搜索方案,当你需要大规模,容错,分布式索引和检索能力时使用 SolrCloud.当一个系统的索引数据量少的时候是不需要使用SolrCloud的,当索引量很大,搜索请求并发很高,这时需要使用SolrCloud来满足这些需求. SolrCloud是基于Solr和Zookeeper的分布式搜索方案,它的主要思想是使用Zookeeper作为集群的配置信息中心. 它有几个特色功能: 1)集中式的配置

solr安装-tomcat+solrCloud构建稳健solr集群

solr安装-tomcat+solrCloud构建稳健solr集群 2014-05-29 12:17 11985人阅读 评论(2) 收藏 举报  分类: solr(1)  版权声明:本文为博主原创文章,未经博主允许不得转载. solrCloud的搭建可以有两种方式:使用solr内嵌的jetty来搭建:使用外部web容器tomcat来搭建.对于使用jett来搭建参考solr官方的手册照着做肯定ok,下面我主要讲的是如何使用tomcat来搭建solrCloud. 废话不多说,开始我们的工作! 1.搭

linux集群下 solr集群搭建

首先介绍一下系统架构: * 这个图中代表的是三个solr实例,每个实例包括两个core,组成一个solrcloud * 索引集合包括两个 shard(shard1和shard2),shard1和shard2分别由三个core组成,其中一个L eader两个Replication,Leader是由zookeeper选举产生,zookeeper控制每个shard上三个core的索引数据一致,解决高可用和高并发问题. * Collection在solrcloud集群中是一个索引结构,被划分为一个或多个

solr 集群(SolrCloud 分布式集群部署步骤)

SolrCloud 分布式集群部署步骤 安装软件包准备 apache-tomcat-7.0.54 jdk1.7 solr-4.8.1 zookeeper-3.4.5 注:以上软件都是基于 Linux 环境的 64位 软件,以上软件请到各自的官网下载. 服务器准备 为搭建这个集群,准备三台服务器,分别为 192.168.0.2 -- master 角色192.168.0.3 -- slave 角色192.168.0.4 -- slave 角色 搭建基础环境 安装 jdk1.7 - 这个大家都会安装

Redis sentinel 哨兵模式集群方案配置

第一个方案是创建 redis cluster,第二种方案就是用哨兵模式来进行主从替换以及故障恢复.兵模式集群方案配置 一.sentinel介绍 Sentinel作用: 1):Master状态检测 2):如果Master异常,则会进行Master-Slave切换,将其中一个Slave作为Master,将之前的Master作为Slave 3):Master-Slave切换后,master_redis.conf.slave_redis.conf和sentinel.conf的内容都会发生改变,即mast

elk集群安装配置详解

#  一:简介 ``` Elasticsearch作为日志的存储和索引平台: Kibana 用来从 Elasticsearch获取数据,进行数据可视化,定制数据报表: Logstash 依靠强大繁多的插件作为日志加工平台: Filebeat 用来放到各个主机中收集指定位置的日志,将收集到日志发送到 Logstash: Log4j 直接与 Logstash 连接,将日志直接 Logstash(当然此处也可以用 Filebeat 收集 tomcat 的日志). ``` ####  port ```

Solr集群的搭建以及使用(内涵zookeeper集群的搭建指南)

1   什么是SolrCloud SolrCloud(solr 云)是Solr提供的分布式搜索方案,当你需要大规模,容错,分布式索引和检索能力时使用 SolrCloud.当一个系统的索引数据量少的时候是不需要使用SolrCloud的,当索引量很大,搜索请求并发很高,这时需要使 用SolrCloud来满足这些需求. SolrCloud是基于Solr和Zookeeper的分布式搜索方案,它的主要思想是使用Zookeeper作为集群的配置信息中心. 它有几个特色功能: 1)集中式的配置信息 2)自动容

LVS+Keepalived+Squid+Nginx+MySQL主从 高性能集群架构配置

原文地址:LVS+Keepalived+Squid+Nginx+MySQL主从 高性能集群架构配置 作者:gron 原文链接:http://www.linuxidc.com/Linux/2012-07/65547.htm 架构图 先进行优化 vi /etc/sysctl.conf   # 编辑sysctl.conf文件添加以下内容 net.ipv4.tcp_rmem = 4096 87380 4194304 net.ipv4.tcp_wmem = 4096 65536 4194304 net.c