使用solr不长时间,环境是linux as4,到现在solr的文件大小正常大约11G了。
solr放在一台服务器上,利用另一台服务器通过URL进行调用,
但是有一个问题,重建几十万索引好几次都这样,利用solr的接口优化,但是每次索引文件比较大的时候
例如现在11G,他的优化就报错:
com.xx.cms.solr.client.SolrServerException: Server returned non-zero status:
Caused by:
Server side exception, status = 1: java.lang.NullPointerException
at org.apache.lucene.index.FieldsReader.addField(FieldsReader.java:174)
at org.apache.lucene.index.FieldsReader.doc(FieldsReader.java:90)
at org.apache.lucene.index.SegmentReader.document(SegmentReader.java:284)
at org.apache.lucene.index.IndexReader.document(IndexReader.java:357)
at org.apache.lucene.index.SegmentMerger.mergeFields(SegmentMerger.java:186)
at org.apache.lucene.index.SegmentMerger.merge(SegmentMerger.java:88)
at org.apache.lucene.index.IndexWriter.mergeSegments(IndexWriter.java:709)
at org.apache.lucene.index.IndexWriter.mergeSegments(IndexWriter.java:686)
at org.apache.lucene.index.IndexWriter.optimize(IndexWriter.java:543)
at org.apache.solr.update.DirectUpdateHandler2.commit(DirectUpdateHandler2.java:459)
at org.apache.solr.core.SolrCore.update(SolrCore.java:754)
at org.apache.solr.servlet.SolrUpdateServlet.doPost(SolrUpdateServlet.java:52)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:75)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:186)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:793)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:702)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:571)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:644)
at java.lang.Thread.run(Thread.java:595)
at com.xx.cms.solr.client.AbstractDocumentManagerClient.serverCall(AbstractDocumentManagerClient.java:149)
at com.xx.cms.solr.client.DocumentManagerClient.optimize(DocumentManagerClient.java:205)
[color=red]at com.xx.cms.system.IndexCommit.optimize(IndexCommit.java:45)[/color]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.springframework.util.MethodInvoker.invoke(MethodInvoker.java:270)
at org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean$MethodInvokingJob.executeInternal(MethodInvokingJobDetailFactoryBean.java:199)
at org.springframework.scheduling.quartz.QuartzJobBean.execute(QuartzJobBean.java:90)
at org.quartz.core.JobRunShell.run(JobRunShell.java:203)
at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:520)
而在solr的服务器上报的就是IO读写错误。
每天都执行操作每天都报这个错误。
solr应该跟lucence一样,优化的时候先把文件都复制一遍,然后在删除合并。
我一直怀疑是不是文件11G太大了,在复制的过程中报错。
大家有没有遇到过这样情况
分享到:
相关推荐
- **硬件和架构优化**:例如,增加Solr服务器的内存,使用SSD硬盘提升I/O速度,或者采用更高效的网络架构,如InfiniBand,都可以提高join查询的性能。 以上是针对基于Solr的多表join查询加速的一些常见策略和可能...
要使用solr-dataimport-scheduler.jar,首先需要将该jar包部署到Solr服务器的lib目录下,这样Solr启动时会自动加载这个组件。然后,在Solr的配置文件(如solrconfig.xml)中,你需要定义一个DIH的配置,包括数据源...
### Solr(Cloudera)使用手册 #### 一、创建Collection与管理实例 在使用Solr(Cloudera)时,创建Collection是基本的操作之一。Collection是Solr中的数据存储单元,相当于关系数据库中的表。 ##### 创建路径与实例 ...
### Solr在Java中的使用总结 #### 一、Solr简介 Solr是一个高性能的全文搜索引擎,基于Apache Lucene开发,使用Java 5编写。它不仅继承了Lucene的强大功能,还提供了更丰富的查询语言以及更好的性能优化。Solr具备...
在本文档中,我们将详细介绍如何部署和使用 Solr 5.5.4 版本,包括两种常见的部署方式:Jetty 和 Tomcat,并涉及到中文分词器IKAnalyzer的集成以及对Word文档的支持。 首先,我们需要准备合适的环境,这里要求的是...
Solr安装与使用 Solr是一款功能强大的搜索引擎,能够帮助我们快速搭建企业搜索平台。在本文中,我们将详细介绍Solr的安装和使用过程。 一、安装Solr 首先,我们需要下载Solr的安装包。这里我们使用的是Solr 1.3...
CDH 使用 Solr 实现 HBase 二级索引 在大数据处理中,HBase 是一种流行的 NoSQL 数据库,用于存储大量的数据。然而,在查询和检索数据时,HBase 的性能可能不太理想。这是因为 HBase 是基于 Key-Value 的存储方式,...
在部署和使用Solr时,了解Solr的生命周期管理、集群配置、备份与恢复策略,以及如何监控和调整性能都是至关重要的。熟悉这些知识点,可以帮助你更好地利用Apache Solr构建高性能的企业级搜索解决方案。
### Solr的安装使用步骤详解 #### Solr概述与特性 **Solr** 是 Apache 下的一个顶级开源项目,它基于 **Lucene** 进行构建,提供了强大的全文搜索能力。相较于 Lucene,Solr 提供了更为丰富的查询语言支持,并且...
4. **docs** 文件夹:包含了Solr的用户文档,可以帮助开发者和管理员了解Solr的使用方法和API。 5. **example** 文件夹:提供了一个简单的Solr实例,包括了如何设置和运行的基本示例,对于初学者来说非常有用。 6....
centos7 环境 安装docker 并在docker 中部署solr 并使用
Linux环境下使用的Solr是一款强大的全文搜索引擎,主要设计用于处理大量数据的快速检索。Solr是Apache Lucene项目的一部分,提供了一个高效、可扩展的搜索和分析平台。在Linux环境中部署和使用Solr,可以充分利用其...
《easynet.solr开发与使用》 在现代信息技术领域,搜索引擎已经成为不可或缺的一部分,而Apache Solr作为一款强大的开源搜索引擎,被广泛应用于各种数据检索场景。为了方便开发者更高效地集成和操作Solr,Easynet...
为了方便使用 Solr 的命令行工具,可以将 Solr 的 bin 目录添加到系统的 PATH 环境变量中。例如,在 `.bashrc` 或 `.bash_profile` 文件中添加: ``` export SOLR_HOME=/path/to/solr-8.8.2 export PATH=$PATH:$...
本文将深入讲解 Solr 的使用及安装过程。 一、Solr 简介 Solr 基于 Lucene 库,提供了一个高度可配置和可扩展的平台,用于处理和索引大量数据,支持多种数据源,如文件、数据库等。其主要特性包括: 1. **全文搜索...
使用Solr内置的Jetty服务器启动Solr (1)借助X Shell上传solr的安装包到/usr/local/目录下,使用 tar -zxvf命令进行解压. (2)使用内置的Jetty来启动Solr服务器只需要在example目录下,执行start.jar程序即可,...
"solr6.5使用的IK分词"就是一个针对Solr 6.5版本的中文分词解决方案。 **IK分词器** IK分词器(Intelligent Chinese Analyzer)是由Lucene社区开发的一款高性能的中文分词工具,适用于Java环境。它的主要目标是为...
8. **搜索性能优化**:Solr提供了多种优化手段,包括使用倒排索引、缓存策略、查询优化器等,以提高查询速度和整体性能。 9. **安全与认证**:Solr 8.x引入了内置的安全性框架,包括Zookeeper的ACL和Solr的Role-...