今天同事要一个solr4.10.3的集群做实验,挺顺利的搭建好了,结果启动之后访问报500错误,大概用了半个小时找到原因解决了这个错误,记录下来方便以后查询。
环境:
centos7 1个zk节点,2个solr节点
部署:
1.解压solr-4.10.3、解压tomcat、解压zk、配置jdk略
2.solr整合Tomcat:(1)将solr的/dist/solr-4.10.3.war 复制到 /tomcat/webapps
(2)启动tomcat,在检查catalina.out保证tomcat正常启动的情况下,关闭tomcat,然后删除solr.war, 在 tomcat/webapps目录下会多出一个solr文件夹
(3) 拷贝solr解压包中/example/lib/ext//下的jar文件到tomcat/webapps/solr/WEB-INF/lib/
(4)拷贝解压包中example/resources/log4j.properties文件到tomcat/webapps/solr/WEB-INF/classes下 ( 没有就建立classes文件夹)
(5)创建solrhome文件夹,并将solr-4.10.3/example/solr中的数据拷贝到建立的solrhome文件夹中
(6)编辑webapps/solr/WEB-INF/web.xml文件,指定solrhome位置
3.将上面整合了tomcat的solr复制一份,修改tomcat/conf/server.xml的端口号,防止端口冲突
4.配置zk文件
cd zookeeper/conf
cp zoo_sample.cfg zoo.cfg
vim zoo.cfg
若有多个zk则将server.x的注释取消,并在zk的data目录下创建myid文件,myid文件中是zk地址所对应的server.x的x
4. 在Tomcat/bin/catalina.sh 文件中配置zk的地址,加上如图的一段
5.solr信息上传至zk,上传前先启动zk
java -classpath .:/opt/calisapp/solr0/tomcat/webapps/solr/WEB-INF/lib/* org.apache.solr.cloud.ZkCLI -cmd upconfig -zkhost 222.29.77.187:3181 -confdir /opt/calisapp/solrcollecitonconf/collec
tion1_conf -confname myconf
命令中标红出是可以更改的部分,第一处为solr的jar包位置,第二处为zk地址,第三处为创建分片的配置文件所在,最后的命名随意
6.启动集群,创建分片
注:我在启动集群后访问时报500错误,报错信息如下:
解决方法:修改solrhome下的solr.xml文件如下:
修改完成后重新启动tomcat即可访问