- 启动solr cloud ,启动到一半发现抛出这样的异常:ZkController.java第1087行代码
"Could not find configName for collection " + collection + " found:" + configNames 原因在于solr cloud 集群在启动的过程中需要加载zookeeper中的 collections core状态配置信息,因为在zk中还没有初始化,所以启动的时候发现配置信息是空的,solr连续尝试四次之后就会抛一个ZooKeeperException异常。
解决办法是,在启动命令行中添加一个-Dbootstrap_confdir=./solr/collection1/conf 的配置项,solr在启动的时候就会自动将目标配置文件夹下的schema solrconfig 等配置信息同步到zookeeper节点上。完整的solr启动命令如下:
java -Dbootstrap_confdir=./solr/collection1/conf -Dcollection. configName=twoShardsTwoReplicasConf -DnumShards=2 -DzkHost=192.168.0.10:9983/baisui -jar start.jar
-
当应用启动好之后,solr core中已经有一份索引了,然后在solr管理页面(http://localhost/solr/#/collection1/query)上执行查询操作,抛了以下这个异常:
2013-5-2 10:22:04 org.apache.solr.common.SolrException log 严重: org.apache.solr.common.SolrException: no servers hosting shard: at org.apache.solr.handler.component.HttpShardHandler$1.call(HttpShardHandler.java:162) at org.apache.solr.handler.component.HttpShardHandler$1.call(HttpShardHandler.java:135) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) at java.util.concurrent.FutureTask.run(FutureTask.java:138) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) at java.util.concurrent.FutureTask.run(FutureTask.java:138) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) at java.lang.Thread.run(Thread.java:619)
首先需要解决的一个问题是solr启动使用的端口号是8983,但是现在运行的solr core所在tomcat容器中设定的solr端口号是80端口,当调用solr的shared查询时候,仍然会瓶装request url的时候用8983端口来拼装,所以在在shared查询的时候会发生服务不可用的错误,所以要在启动命令的参数中添加一个参数-Djetty.port=80, 说明一下,虽然是在tomcat容器中这个参数仍然是有效的。接下来再说如何解决上面那个异常,其实很简单,因为在初始化的时候设置了sharedNumber的数量为2,刚开始只启动了一台服务器,在查询的时候,在zookeeper中livenode节点中只有一台,还没有满足solrcloud最小shared为2的要求。所以在进行查询的时候抛出这个异常很正常,解决办法是再启动一个solr节点,启动命令是java -DzkHost=10.232.15.46:2181,10.232.36.130:2181/baisui -Djetty.port=80 -jar start.jar, 应用启动的时候自动会到zookeeper中的节点配置信息。第二个solr节点正常启动后,可以正常进行查询操作了。
需要说明的是一个应用在初始化之后,sharedNumber数目就不能变了,但是 一个share中的副本是可以添加或者减少的。
- 删除cluster中的 Collection
curl 'http://localhost:8983/solr/admin/collections?action=DELETE&name=userscollection' 试验了一下果然是可以删除的,但是在zookeepr的节点上查看还是刚刚生成的schema,solrconfig等配置文件还是存在的没有被删除掉。但是本地文件夹collection中的config 目录被删除了,重新启动solr container会出错。类似这样的维护solr应用的命令使用起来倒是挺方便的,但是感觉如果是线上应用的话这样调用起来也非常危险,一个不小心就把一个collection给删除了,那就摊上大事儿了
- 浏览: 324494 次
- 性别:
- 来自: 杭州
最新评论
-
xiaowangge:
query.setDistrib(false); 之后只是获取 ...
Solr /export 海量数据导出实现 -
mozhenghua:
她的酒窝 写道你好,楼主,将数据库中的几张业务表打成宽表的方式 ...
集合聚合算法 -
pzw:
大牛的思想才是最好的东西
基于Solr的多表join查询加速方法 -
Not_Lost_Yesterday:
你的 demo 似乎写错了,我理解了你的意思 ,spring ...
spring bean id重复覆盖的问题解决 -
她的酒窝:
你好,楼主,将数据库中的几张业务表打成宽表的方式,这个打宽表的 ...
集合聚合算法
相关推荐
在学习和使用这个"solr入门java工程"时,你需要理解以下关键点: 1. Solr的基本概念和功能,如索引、查询、分面搜索等。 2. FusionInsight Solrtest的用途和如何使用它进行性能测试。 3. Java客户端SolrJ的使用,...
### Solr 学习笔记:关键命令使用说明 Solr 是一个开源的、高性能的全文检索引擎,基于 Java 开发,常被用于大型网站的搜索系统。本文将围绕给定内容中的关键命令进行详细的解析,主要包括 Solr 的启动、集群管理、...
2. 进入`bin`目录,根据操作系统运行相应的启动脚本(如`bin\solr start`或`bin\solr start -e cloud`)来启动Solr服务器。 3. 使用Web浏览器访问`http://localhost:8983/solr`,如果一切正常,你应该能看到Solr管理...
### Solr安装与配置知识点详解 #### 一、Solr简介 Solr是一款开源的、高性能的全文搜索引擎,广泛...通过本文介绍的知识点,读者可以更好地理解和掌握Solr的安装与配置流程,为进一步学习和使用Solr打下坚实的基础。
- **故障恢复**:说明在Solr Cloud环境中如何实现高可用性和容错能力。 #### 与相关技术集成 - **集成框架**:讨论如何将Solr与各种开发框架(如Spring)集成。 - **第三方服务**:探索与其他数据处理服务(如...
7. **导入数据**:Solr使用`bin/post`工具或者Solr Cloud的`curl`命令来导入JSON、XML或其他格式的数据。例如,`bin/post -c <core_name> exampledocs/*.xml`可以导入“exampledocs”目录下的所有XML文件。 8. **...
作为Apache软件基金会项目,Solr拥有活跃的开发者社区,不断提供新功能和改进,以及丰富的文档和示例代码供学习参考。 综上所述,Solr 4.10是强大的全文搜索引擎,尤其适合大规模数据的分布式处理,其丰富的特性和...
如果希望以服务模式运行,可以使用`bin\solr start -e cloud`命令,这将启动SolrCloud模式,适合分布式部署。启动完成后,你可以通过浏览器访问`http://127.0.0.1:8090/solr`来查看Solr管理界面,验证是否成功启动。...
2. **Cloud模式**:虽然这里的版本是单机版,但Solr 7.5支持Cloud模式,可以实现分布式搜索和高可用性。这意味着即使在单机环境下,你也可以了解如何将Solr集群化,以便在未来需要扩展时做好准备。 3. **Schema设计...
Solr 是一个开源的全文搜索引擎,由 Apache 软件基金会开发并维护。这个 `solr-7.1.0.tgz` 文件是 Solr 的一个特定版本——7.1.0,...通过深入学习和实践,你可以充分利用 Solr 的特性,为你的项目带来高效的搜索体验。
6. **在 AWS EC2 上部署 Solr Cloud**:针对云环境下的部署场景,介绍了如何在 Amazon Web Services (AWS) 的 Elastic Compute Cloud (EC2) 实例上部署 Solr Cloud。 7. **升级 Solr 集群**:提供了关于如何将现有...
同时,Solr 的官方文档是了解和学习 Solr 的宝贵资源,包含详细的配置指南和使用教程。 总之,无论是 Solr 4.7.1 还是 5.2.1,都提供了强大的全文检索能力,并且随着版本的迭代,其在分布式、安全性和性能方面都有...
Solr是Apache软件基金会的一个开源项目,全称为Apache ...对于开发者来说,这是一个学习和部署Solr的好起点,特别是对于初次接触Solr或者需要在Windows平台上运行Solr的用户,32位和64位的支持使得安装和运行更加便捷。
Solr是Apache软件基金会开发的一款全文搜索引擎,它基于Lucene库,提供了分布式、可扩展、易维护的搜索和分析...通过深入学习和实践这个版本,开发者可以掌握如何在实际项目中应用Solr,实现高效的全文检索和数据分析。
为了启动Solr服务,你需要进入`server/bin`目录,然后运行启动脚本(例如`solr start`或`./solr start -e cloud`,后一种方式用于启动分布式模式)。这将启动Jetty服务器,并加载配置文件。 Solr的配置主要在`...
3. **启动Solr服务器**:进入解压后的目录,使用`bin/solr start -e cloud`命令启动Solr服务器,这将以分布式模式启动,并创建默认的集合。 4. **创建索引**:Solr的核心功能是构建和管理索引。通过Solr的HTTP API...
通过学习和掌握 Solr 8.6.0,开发者和系统管理员能够构建高效、可扩展的全文搜索解决方案,提升用户体验,为企业带来价值。在实际操作中,结合官方文档和社区资源,可以深入理解并熟练运用这个强大的搜索平台。
1. **Cloud功能增强**:SolrCloud是Solr的分布式搜索和索引存储解决方案,4.10.3版本对SolrCloud进行了优化,提供了更强大的集群管理和数据分布能力,包括Zookeeper集成的改进和故障恢复机制的加强。 2. **配置管理...