web项目部署solr问题解决(Server is shutting down or failed to initialize和solr.clustering.ClusteringComponent)
2016-10-31 23:52
686 查看
今天在web项目中搭建solr的过程中,遇到了HTTP Status 503 - Server is shutting down or failed to initialize错误,上网查找了相关错误都没有解决,最后才发现自己关于日志的jar包没有全部导入,将官网下载的solr包中的关于日志包全部复制到 lib文件中就行了,如下图所示:
顺便贴一下我的web项目目录结构:
PS:上面中的log4j.properties文件如果不考到项目中,在项目启动的时候就不会打印错相应的日志信息,该文件在example下的resources文件夹下。
把上面的问题解决后,后台又出现个新的错误,Error loading class 'solr.clustering.ClusteringComponent'。访问页面打印的错误为:
解决方案:
首先要看web.xml中配置solr home的路径是否正确,配置如下:
将env-entry-value属性内容改为solr home的正确路径,此项目的正确路径是web项目工作空间的solr文件夹路径。
通过修改过后,问题还是没有解决,依旧报错,网上相关资料说修改solrconfig.xml中jar包的路径,于是进入了该配置文件,找到了配置jar包路径的地方,如图:
刚开始看到这个路径的时候一脸懵逼,后来想想是不是没有找到项目中lib文件下的jar包,于是呼将上面jar包路径改成了访问项目中lib文件夹的路径,如下所示:
开始有点不赖烦了,始终盯着这个jar包的路径,想着为什么默认的配置会是这个路径,突然想到solrconfig.xml配置文件是我从官网solr压缩包中拷贝的,默认配置jar包路径会不会和官网下载文件里面的文件路径有关?
果不其然,在solr-4.5.0文件中看到了contrib和dist文件夹,如下图所示,里面也确实有很多jar包。
把默认配置路径中的jar包拷到项目的lib文件夹中,重新启动项目,启动正常,错误解决。
PS:solrconfig.xml中jar包路径配置其实不需要改变,只需要把相应的jar包copy到lib文件夹下即可,启动项目时,会访问solrconfig.xml中jar包配置路径,地址访问不到就会被忽略。
总结:两个错误都是因为少导入jar包导致的,官网下载的压缩包中的jar包存放地点并不是在一个文件夹下,不是很集中,如果像我一样第一次搭建solr环境,很容易少考入jar包,导致出现问题。出现问题后,查看日志,借助网上资料,冷静分析,肯定能够解决。
------ 问题总有解决的方法。
最后贴上一张solr的管理界面,庆祝一下:
顺便贴一下我的web项目目录结构:
PS:上面中的log4j.properties文件如果不考到项目中,在项目启动的时候就不会打印错相应的日志信息,该文件在example下的resources文件夹下。
把上面的问题解决后,后台又出现个新的错误,Error loading class 'solr.clustering.ClusteringComponent'。访问页面打印的错误为:
HTTP Status 500 - {msg=SolrCore 'collection1' is not available due to init failure: Error loading class'solr.clustering.ClusteringComponent',trace=org.apache.solr.common. SolrException: SolrCore 'collection1' is not available due to init failure: Error loading class 'solr.clustering.ClusteringComponent' at org.apache.solr.core.CoreContainer.getCore(CoreContainer.java:785) at.......
解决方案:
首先要看web.xml中配置solr home的路径是否正确,配置如下:
<!-- People who want to hardcode their "Solr Home" directly into the WAR File can set the JNDI property here... --> <env-entry> <env-entry-name>solr/home</env-entry-name> <env-entry-value>F:\scorm\solrSearch\solr</env-entry-value> <env-entry-type>java.lang.String</env-entry-type> </env-entry>
将env-entry-value属性内容改为solr home的正确路径,此项目的正确路径是web项目工作空间的solr文件夹路径。
通过修改过后,问题还是没有解决,依旧报错,网上相关资料说修改solrconfig.xml中jar包的路径,于是进入了该配置文件,找到了配置jar包路径的地方,如图:
刚开始看到这个路径的时候一脸懵逼,后来想想是不是没有找到项目中lib文件下的jar包,于是呼将上面jar包路径改成了访问项目中lib文件夹的路径,如下所示:
<lib dir="../../WebContent/WEB-INF/lib" regex=".*\.jar" />查看项目启动日志,这下确实有加载lib文件夹下jar包的日志记录,但是问题还是没有解决,依旧报错。
开始有点不赖烦了,始终盯着这个jar包的路径,想着为什么默认的配置会是这个路径,突然想到solrconfig.xml配置文件是我从官网solr压缩包中拷贝的,默认配置jar包路径会不会和官网下载文件里面的文件路径有关?
果不其然,在solr-4.5.0文件中看到了contrib和dist文件夹,如下图所示,里面也确实有很多jar包。
把默认配置路径中的jar包拷到项目的lib文件夹中,重新启动项目,启动正常,错误解决。
PS:solrconfig.xml中jar包路径配置其实不需要改变,只需要把相应的jar包copy到lib文件夹下即可,启动项目时,会访问solrconfig.xml中jar包配置路径,地址访问不到就会被忽略。
总结:两个错误都是因为少导入jar包导致的,官网下载的压缩包中的jar包存放地点并不是在一个文件夹下,不是很集中,如果像我一样第一次搭建solr环境,很容易少考入jar包,导致出现问题。出现问题后,查看日志,借助网上资料,冷静分析,肯定能够解决。
------ 问题总有解决的方法。
最后贴上一张solr的管理界面,庆祝一下:
相关文章推荐
- solr部署问题 —— http status 503 -server is shutting down or failed to initialize
- linux中部署solr 报Server is shutting down or failed to initialize
- solrcloud 报 HTTP Status 503 - Server is shutting down or failed to initialize
- solr集群出现错误503-Server is shutting down or failed to initialize.
- Solr报错-503-Server is shutting down or failed to initialize
- HTTP Status 503 - Server is shutting down or failed to initialize
- Eclipse中部署项目时,Tomcat启动报错 “Failed to start component [StandardServer[8005]]”的解决
- The required Server component failed to start so Tomcat is unable to start问题解决
- The required Server component failed to start so Tomcat is unable to start问题解决
- The required Server component failed to start so Tomcat is unable to start问题解决
- The required Server component failed to start so Tomcat is unable to start问题解决
- MyEclipse中用Tomcat部署项目时遇到的问题2:Document base D:/Tomcat 5.5/server/webapps/ admin does not exist or is not a readable directory
- The required Servercomponent failed to start so Tomcat is unable to start问题解决
- The required Server component failed to start so Tomcat is unable to start问题解决
- FileZilla Server Failed to initialize ssl library 问题解决
- android中The connection to adb is down,ADB server didn't ACK 问题和解决
- linux中搭建solr集群出现org.apache.catalina.LifecycleException: Failed to initialize component ,解决办法
- 问题解决:psql: could not connect to server: No such file or directory Is the server running
- 解决Eclipse项目部署之Cannot change version of project facet Dynamic Web Module to 3.0?问题
- 解决使用maven的java web项目导入后出现的有关问题 -cannot be read or is not a valid ZIP file