/xml配置文件/其他配置/linux集群配置/solrCloud配置/solrCloud配置.txt


ip和端口可能有误,自行修改

1、把配置好的solrHome(包含仓库core信息等)和包含solr项目的tomcat复制粘贴到linux,
修改tomcat里solr的web.xml第43行的位置成solrHome的地址(collection1等core所在的目录).

2、修改每个tomcat/bin/catalina.sh,把此配置替换第234行(java_opts所在的行):
JAVA_OPTS="-DzkHost=192.168.25.140:2181,192.168.25.140:2182,192.168.25.140:2183"
这3个地址就是zookeeper的3个注册地址,是用来设置JVM相关运行参数的变量.  
此配置作用是在tomcat启动时找到zookeeper集群。
注意原来234行的内容是:
#JAVA_OPTS="$JAVA_OPTS -Dorg.apache.catalina.security.SecurityListener.UMASK=`umask`"
要把这一整行替换掉,且不能带上中文符号(空格等),不然报错未预期的符号 `(' 附近有语法错误

3、配置solrCloud相关的配置。每个 solrhome 下都有一个 solr.xml,把其中的 ip 及端口号配置好(是对应的tomcat的IP和端口)。
即修改  <solrcloud>里的<str name="host">和<int name="hostPort">的值。

========================================================

4、让 zookeeper 统一管理配置文件。需要把 solrhome下collection1/conf 目录上传到
zookeeper。上传任意 solrhome 中的配置文件即可。我们需要使用solr给我们提供的工具上传配置文件:
solr-4.10.3/example/scripts/cloud-scripts/zkcli.sh
将solr-4.10.3压缩包上传到linux,解压,然后进入solr-4.10.3/example/scripts/cloud-scripts目录 ,执行下列命令(不要有换行符)
./zkcli.sh -zkhost 192.168.25.140:2181,192.168.25.140:2182,192.168.25.140:2183 -cmd upconfig -confdir /usr/local/solrhomes/solrhome-1/collection1/conf -confname myconf
参数解释
-zkhost  :指定zookeeper地址列表
-cmd    :指定命令。upconfig 为上传配置的命令
-confdir  : 配置文件所在目录
-confname : 配置名称

执行命令时可能报错找不到或无法加载主类 org.apache.solr.cloud.ZkCLI,
解决方法见https://blog.csdn.net/justweb/article/details/78310739,
我在solr-4.10.3/example目录下执行完 java -jar start.jar 命令ctrl+c退出后也解决了问题

bugs:
    1、完成后上述步骤后在zookeeper不重启的情况下开启solr的tomcat,报错503,查看tomcat日志,提示collection1(core)有两个,一个是solrhome原有,一个是solr-4.10.3的(我把这个包解压在solrhome),删除此包后bug解决。
    2、用SolrTemplate添加数据报错字段不对。原因是使用了collection1的配置文件,真实数据在collection3.删除配置文件重新上传即可。具体操作是用ZooInspector连接任意一个zookeeper,删除configs/myconf。只删除myconf不要删除configs,因为上面的上传命令是把collection1/conf里的所有文件上传到configs/myconf下,configs可能有其他程序的配置文件。
    
    3、再用上面的上传命令,上传不停止:路径写错了
    
    4、在core里query显示503:可能solr服务器挂了
    
    5、创建collection1失败,提示scheme.xml里1 字节的 UTF-8 序列的字节 1 无效。把该文件的<?xml version="1.0" encoding="UTF-8" ?>改成<?xml version="1.0" encoding="UTF8" ?>
    
    6、同5,提示scheme.xml里某行无法识别的字符。可能是中文空格什么的,删除即可
    
ZooInspector在安装包里,解压后双击build里的jar文件运行,填写ip和端口后可以直接管理zookeeper的文件。可以发现修改任意zookeeper其他zookeeper都会被修改

========================================================

5、访问如下地址可以分片和删除collection
分片:http://192.168.153.131:11112/solr/admin/collections?action=CREATE&name=collection2&numShards=1&replicationFactor=3
删除:http://192.168.153.131:11112/solr/admin/collections?action=delete&name=collection2
分片后没有数据,需要重新加入数据。
这里Solr服务器可能报错ClassNotFoundException - DataImportHandler,需要在每个solr服务器的webapps\solr\WEB-INF\lib里放入solr-dataimporthandler这个jar包;
numShards=a表示collections被分成a份,replicationFactor=b表示分片后的数据有几个服务器分
比如numShards=1&replicationFactor=3表示整个数据分成1片,由3个服务器一起处理,每个服务器都有全部数据,这种情况挂了两台也能继续运行;
numShards=3&replicationFactor=1表示整个数据分成3个片,3个服务器各处理1片,这种情况挂了挂了任意一台服务器都不能继续运行,此时访问solr会报错503;
这两个参数的乘积要大于等于solr服务器台数才能分片,否则报错.
solr能继续运行的要求是没有挂的服务器加在一起能够处理所有分片。

========================================================

使用spring整合solrCloud的配置和用法,参考 SpringJunit.java和 applicationContext-solr.xml

能切换生产环境和开发环境的配置需要修改pom,见applicationContext-solr_changable.xml和pom.xml,打包时加上参数发现能正常切换

solrCloud配置相关推荐

  1. solrcloud配置中文分词器ik

    无论是solr还是luncene,都对中文分词不太好,所以我们一般索引中文的话需要使用ik中文分词器. 三台机器(192.168.1.236,192.168.1.237,192.168.1.238)已 ...

  2. solr-cloud 集群动态增加、删除节点

    本次讲述动态增加节点基于上一章集群搭建的基础上来讲:https://blog.csdn.net/u013490585/article/details/86494476 上一章的例子中用了3台zk,4台 ...

  3. 基于zookeeper的solrCloud集群搭建

    转自:https://blog.csdn.net/yougoule/article/details/78445759  基于原文对实践遇到的问题稍作补充 1.安装及搭建相关环境 1.1环境准备 cen ...

  4. (转) SolrCloud之分布式索引及与Zookeeper的集成

    http://blog.csdn.net/ebay/article/details/46549481 作者:Wang, Josh 一.概述 Lucene是一个Java语言编写的利用倒排原理实现的文本检 ...

  5. SolrCloud之分布式索引及与Zookeeper的集成--转载

    原文地址:http://josh-persistence.iteye.com/blog/2234411 一.概述 Lucene是一个Java语言编写的利用倒排原理实现的文本检索类库,Solr是以Luc ...

  6. SolrCloud部署和使用手册

    SolrCloud部署和使用手册             文档修订摘要   日期 版本 描述 著者 审阅者 2013-12-23 0.1 将txt简易模板的文档提取到word模板. 张乐雷 2013- ...

  7. SolrCloud原理

    转载自:http://blog.csdn.net/u011026968/article/details/50336709 本文为调研分布式检索系统的笔记整理,之前调研sphinx和coreseek的时 ...

  8. SolrCloud初识

    转自:https://www.cnblogs.com/saratearing/p/5690476.html 一.概述 Lucene是一个Java语言编写的利用倒排原理实现的文本检索类库: Solr是以 ...

  9. Solrcloud安装与使用

    准备 JDK 1.8.0.181 solr 7.5.0 zookeeper 3.4.13 安装步骤 zookeeper集群安装 下载zookeeper http://mirror.bit.edu.cn ...

最新文章

  1. 智能车竞赛技术报告 | 智能车视觉 - 扬州大学 - 这辆盲车不吃水果
  2. linux下tty, ttyn, pts, pty, ttySn, console理解
  3. 阿里云使用public_key登录ssh
  4. 机器学习(监督学习) 项目流程模板
  5. html类选择器使用在什么场景,CSS选择器
  6. 微信小程序引入npm
  7. 匿名内部类 可以访问外部类_Java 内部类与外部类的互访使用小结
  8. matlab求傅里叶级数展开式_明明学过积分和三角函数就能秒理解傅里叶变换.........
  9. 力扣-590. N 叉树的后序遍历
  10. java基础总结07-异常
  11. 国内C语言教材中几种值得商榷的说法
  12. pbcmc包的介绍(根据生信技能树Jimmy老师分享的乳腺癌分子分型包资料整理)
  13. 音量控制 单片机c 语言,单片机可调音量一线控制语音芯片程序
  14. 微信小店 没有服务器,微信小店商家后台配置说明
  15. 面经自己汇总(三维视觉算法机器学习深度学习)——持续更新
  16. python闰月计算_Python实例讲解 -- 获取本地时间日期(日期计算)
  17. web前端 vue axios 网页设计
  18. python处理xml文件_Python处理XML之DOM解析
  19. 微信群红包模拟器-怎样抢最大的红包
  20. 竟然还有人不知道IfluxDB是干嘛的???

热门文章

  1. UDP实现群聊聊天室
  2. 4.基于NIO的群聊系统
  3. 用python绘制散点图
  4. cryptography
  5. Graphviz绘制链表
  6. 【PTA】【C语言】N个数求和
  7. 微信小程序收藏按钮五角星星图标动画效果实现
  8. 网络爬虫是干什么的呢?
  9. Keras 主要的层函数
  10. [openwrt]coredump设置