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

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

转载于:https://www.cnblogs.com/freeweb/p/5282823.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/373423.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java文本框双击可编辑_java swing 文本域双击变为可编辑

java swing如何实现文本域双击变为可编辑呢?给文本域添加鼠标事件监听程序即可:resultTA1new AssistPopupTextArea();resultTA1.setEditable(false);resultTA1.setLineWrap(true);resultTA1.setWrapStyleWord(true);resultTA1.addMouseListener(new MouseAdapter() {Overridep…

OSGi简介–模块化Java

OSGi联盟是这一搁浅的管理机构&#xff0c;它始于1999年。其最初目标是为网络设备创建开放搁浅。 基于此思想&#xff0c;此规范也针对Java引入。 Eclipse在Java中是第一个。 他们于2004年6月推出了基于OSGi的Eclipse IDE。 OSGi是在Java中定义动态模块的方法。 主要为Java实现…

HDU FatMouse's Speed 基本DP

题意&#xff1a;要求找到的体重递增&#xff0c;速度递减的老鼠&#xff0c;并且输出最长的长度数&#xff0c;而且输出各自的序列数。Special Judge 思路&#xff1a;先按体重由小到大排序&#xff0c;再找最长速度递减序列。 转移方程&#xff1a;mou[i].w>mou[j].w&am…

java xmpp openfire_搭建Xmpp服务器Openfire

step1、 安装java环境这里是检测是否安装java的网页如没有安装则进行以下步骤1、下载jdk7的mac版&#xff1a;jdk-7u79-macosx-x64.dmg2、安装好之后&#xff0c;在命令行进入以下路径查看#cd /Library/Java/JavaVirtualMachines/3、再查看你自己安装的版本#ls版本为jdk-8u171-…

Spark程序运行报错解决(1)

报错内容&#xff1a;System memory 259522560 must be at least 4.718592E8. Please use a larger heap size. 解决&#xff1a;Window——Preference——Java——Installed JREs——选中一个Jre 后 Edit 在Default VM arguments 里加入&#xff1a;-Xmx512M 转载于:https://w…

java setsolinger_java socket 的参数选项解读(转)

在MulticastSocket的源代码里有设置多播的方法&#xff1a;public void setInterface(InetAddress inf) throwsSocketException {if(isClosed()) {throw new SocketException("Socket is closed");}checkAddress(inf, "setInterface");synchronized(infLoc…

【转】Linux终端下 dstat 监控工具

转自https://linux.cn/article-3215-1.html dstat 是一个可以取代vmstat&#xff0c;iostat&#xff0c;netstat和ifstat这些命令的多功能产品。dstat克服了这些命令的局限并增加了一些另外的功能&#xff0c;增加了监控项&#xff0c;也变得更灵活了。dstat可以很方便监控系统…

java jdbc连接db2数据库_Java连接db2数据库(常用数据库连接五)

1.安装好db2数据库&#xff0c;并建立表如下&#xff1a;2.eclipse或myeclipse中建立工程并导入java连接db2所需要的jar包db2java.jar 下载地址&#xff1a;http://download.csdn.net/detail/whzhaochao/64149813.建立iConn接口&#xff0c;代码如下&#xff1a;package com.zh…

Oracle通过邀请Weaver和Chin推动JavaFX向前发展

我昨天发布了愚人节帖子&#xff0c;内容涉及加入NASA协助探索红色大行星。 那个帖子与事实相距不远... NASA开发的技术的所有细节都是100&#xff05;准确的。 哎呀&#xff0c;即使我辞职也是事实&#xff01; 唯一不正确的部分是我将加入的公司。 在NASA协助探索火星的工作也…

WinForm------TextEdit只能输入数字

代码: this.textEdit1.Properties.Mask.EditMask "\d"; this.textEdit1.Properties.Mask.MaskType MaskType.RegEx; 转载于:https://www.cnblogs.com/tianhengblogs/p/6093634.html

JavaFX:创建Sprite动画

到目前为止&#xff0c;尽管我的大多数文章都涉及JavaFX属性和绑定&#xff0c;但今天我想写一讲我也致力于JavaFX运行时的另一部分&#xff1a;动画API。 在本文中&#xff0c;我将解释如何在JavaFX中编写自定义动画&#xff0c;以及如何使用这种方法为Sprite动画创建类。 &am…

使用UIBinder的GWT自定义按钮

这是一个有关如何在GWT上使用UIBinder创建自定义按钮的示例。 public class GwtUIBinderButton implements EntryPoint {public void onModuleLoad() {Button button new Button();button.setText("Button");button.addClickHandler(new ClickHandler(){Overridepub…

delete postman 传参_PostMan 传参boolean 类型,接口接受的值一直是false

情形&#xff1a;最近写前台页面的一个按钮&#xff0c;功能是&#xff1a;点击后切换状态&#xff0c;显示是或否。字段名称是isTest,类型是boolean 。写完接口&#xff0c;拿postMan测试&#xff0c;传参如下&#xff1a;但是后台接口接受的数据 一直是false,处理&#xff1a…

前端学PHP之文件操作

前端学PHP之文件操作 前面的话 在程序运行时&#xff0c;程序本身和数据一般都存在内存中&#xff0c;当程序运行结束后&#xff0c;存放在内存中的数据被释放。如果需要长期保存程序运行所需的原始数据&#xff0c;或程序运行产生的结果&#xff0c;就需要把数据存储在文件或数…

腾讯云CentOS6.5下安装mysql,并配置好远程访问等权限,途中遇到的问题

1.使用yum命令安装mysql [rootbogon ~]# yum -y install mysql-server 2.设置开机启动 [rootbogon ~]# chkconfig mysqld on 3.启动MySQL服务 [rootbogon ~]# service mysqld start 4.设置MySQL的root用户设置密码 [rootbogon ~]# mysql -u root mysql> select u…

java runtime 异常_Java中RuntimeException和Exception

在java的异常类体系中,Error和RuntimeException是非检查型异常&#xff0c;其他的都是检查型异常。所有方法都可以在不声明throws的情况下抛出RuntimeException及其子类不可以在不声明的情况下抛出非RuntimeException简单的说&#xff0c;非RuntimeException必要自己写catch块处…

java电脑运行视频演示_javaweb视频第一天(二)

无论通过哪种方式得到的class类对象&#xff0c;是同一个。比较的是地址码这里教会你&#xff1a;如何去使用class对象现在就知道这个&#xff1a;如何使用反射&#xff0c;并且说反射是实现了什么样的功能。如何通过反射得到里面的相应字段&#xff0c;得到里面的相应函数等等…

本月风味– Neo4j和Heroku

Neo4j今年早些时候发起了一项挑战&#xff0c;即“ 种子播云 ”&#xff0c;以使人们使用Neo4j附加组件在Heroku上创建模板或演示应用程序。 经过许多内部辩论之后&#xff0c;我决定进入&#xff0c;但由于缺乏想法而陷入绝望。 当我什么都没做的时候&#xff0c;这个主意就出…

[回归分析][10]--相关误差的问题

[回归分析][10]--相关误差的问题这一篇文章还是来分析相关误差的问题。 1.游程数 定义&#xff1a;游程数--残差穿过x-轴的次数 用这个可以检查如残差有一块在x轴上面&#xff0c;一块在x轴下面的情形。 如上面这样的残差 下面构造两个统计量&#xff1a; 其中 n…

使用MVC模式制作游戏-教程和简介

游戏开发中一种有用的体系结构模式是MVC&#xff08;模型视图控制器&#xff09;模式。 它有助于分离输入逻辑&#xff0c;游戏逻辑和UI&#xff08;渲染&#xff09;。 在任何游戏开发项目的早期阶段&#xff0c;其实用性很快就会被注意到&#xff0c;因为它允许快速更改内容&…