Ubuntu (linux)上安装solr7
前言:Solr是Apache下的一个顶级开源项目,采用Java开发,它是基于Lucene的全文搜索服务器。Solr提供了比Lucene更为丰富的查询语言,同时实现了可配置、可扩展,并对索引、搜索性能进行了优化。Solr可以独立运行,运行在Jetty、Tom猫等这些容器中,Solr索引的实现方法很简单,用POST方法向Solr服务器发送一个描述Field及其内容的
前言:
Solr是Apache下的一个顶级开源项目,采用Java开发,它是基于Lucene的全文搜索服务器。Solr提供了比Lucene更为丰富的查询语言,同时实现了可配置、可扩展,并对索引、搜索性能进行了优化。
Solr可以独立运行,运行在Jetty、Tom猫等这些容器中,Solr索引的实现方法很简单,用POST方法向Solr服务器发送一个描述Field及其内容的XML文档,Solr根据xml文档添加、删除、更新索引。Solr搜索只需发送HTTP POST请求,然后对Solr返回Xml、json等格式的查询结果进行解析,组织页面布局即可。
Solr不提供构建UI的功能,Solr提供了一个管理界面,通过管理界面可以查询Solr的配置和运行情况。
Ubuntu版本:
- No LSB modules are available.
- Distributor ID:Ubuntu
- Description:Ubuntu 16.04.3 LTS
- Release:16.04
- Codename:xenial
准备工具:
一、 JDK 安装与配置
Solr的版本6.0.0以上的都要求jdk8.0及以上。
Solr各版本发布时间、对应的JDK版本、Jetty版本(http://blog.csdn.net/jiangchao858/article/details/52443745#t2)
##################################
在说明搭建环境之前,其实solr5.0之后 solr已经内置jetty服务器,可以自行启动。但是为了加入自己的特性,
以及在solr基础之上的应用,此文章主要针对发布在tomcat8上。
##################################
1.jdk安装
tar -zxvf jdk-8u151-linux-i586.tar.gz cp -rf jdk1.8.0_151 /usr/local/
2.配置
gedit /etc/profile
在后面加入
JAVA_HOME=/usr/local/jdk1.8.0_151 JRE_HOME=/usr/local/jdk1.8.0_151/jre CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin export JAVA_HOME JRE_HOME CLASS_PATH PATH
3.使修改生效:
source /etc/profile //使修改立即生效 echo $PATH //查看PATH值
4.查看JAVA版本
java -version
至此,JDK安装成功。
二、Solr安装与配置:
1、解压apache-tomcat-8.5.24.tar.gz和solr-7.2.0.tgz
tar -zxvf apache-tomcat-8.5.24.tar.gz tar -zxvf solr-7.2.0.tgz
2.配置tomcat
(1)将apache-tomcat-8.5.24搬移到指定路径(任意路径)
mv -f apache-tomcat-8.5.24/ /usr/local/tomcat
(2)把 solr-7.2.0\server\solr-webapp下的 webapp 文件夹拷贝到tomcat 的webapps下,重命名 为solr(也可以是其他名字)
mv -f webapp/ /usr/local/tomcat/webapps/solr
(3)拷贝jar包全部复制到 Tomcat\ webapps\solr\WEB-INF\lib 目录中;
(注:如果地址错误或者jar不全的话,会出现404错误)
- solr-7.2.0/server/lib/ext目录下的jar包
- solr-7.2.0/server/lib 目录下gmetric4j-1.0.7.jar
- solr-7.2.0/server/lib 目录下metrics开头的jar
- solr-7.2.0/dist/solr-dataimporthandler-* 开头的jar
(4)拷贝solr-7.2.0\server\solr文件夹的所有文件,复制到solrhome(在tomcat目录下建立solrhome目录,也可以放在其它目录中)
mv -f solr /usr/local/tomcat/solrhome/
(5)修改/usr/local/tomcat/webapps/solr/WEB-INF/web.xml, 找到如下代码,去掉注释,将/put/your/solr/home/here 改为你自己的solrhome的路径(/usr/local/tomcat/solrhome)
<env-entry> <env-entry-name>solr/home</env-entry-name> <env-entry-value>/usr/local/tomcat/solrhome</env-entry-value> <env-entry-type>java.lang.String</env-entry-type> </env-entry>
(6)修改/usr/local/tomcat/webapps/solr/WEB-INF/web.xml,配置访问权限:找到如下内容,并注释掉
<!-- <security-constraint> <web-resource-collection> <web-resource-name>Disable TRACE</web-resource-name> <url-pattern>/</url-pattern> <http-method>TRACE</http-method> </web-resource-collection> <auth-constraint/> </security-constraint> <security-constraint> <web-resource-collection> <web-resource-name>Enable everything but TRACE</web-resource-name> <url-pattern>/</url-pattern> <http-method-omission>TRACE</http-method-omission> </web-resource-collection> </security-constraint> -->
(7)在/usr/local/tomcat/solrhome 新建 logs文件夹
(8)在/usr/local/tomcat/webapps/solr/WEB-INF 新建classes文件夹
(9)拷贝solr7.2.0\server\resources下的log4j.properties到tomcat\webapps\solr\WEB-INF\classes,修改solr.log=/usr/local/tomcat/solrhome/logs(第7步路径)
cp -rf log4j.properties /usr/local/tomcat/webapps/solr/WEB-INF/classes cd /usr/local/tomcat/webapps/solr/WEB-INF/classes gedit log4j.properties
3.启动tomcat、solr
(10)编辑文件 /usr/local/tomcat/bin/catalina.sh (根据你自己的jdk路径进行修改)
JAVA_HOME=/usr/local/jdk1.8.0_151 JRE_HOME=/usr/local/jdk1.8.0_151/jre
(注:如果不修改,启动tomcat时报如下的错)
Neither the JAVA_HOME nor the JRE_HOME environment variable is defined At least one of these environment variable is needed to run this program
至此solr的配置工作完成.
1.启动执行tomcat,在/usr/local/tomcat/bin运行startup.sh
./startup.sh
打开浏览器,输入http://localhost:8080/ (出现以下图像tomcat运行正常)
出现的问题:
(1)如果端口占用,则修改端口文件/usr/local/tomcat/conf中的server.xml文件
<Serverport="18005" shutdown="SHUTDOWN">
还有connnector端口,顺便把编码格式给改了:<Connectorport="18080" protocol="HTTP/1.1"connectionTimeout="20000" redirectPort="18443"URIEncoding="UTF-8"/>
下面还有一个:
<Connector port="18009" protocol="AJP/1.3" redirectPort="18443" />
开端口:
sudo firewall-cmd --zone=public --add-port=18080/tcp --permanent
如果不使用“--permanent”标记,把么防火墙规则在重启后会失效。
(2)访问tomcat出现java.lang.IllegalStateException No output folder错误解决方法
关于这个原因主要是权限的问题,在tomcat/work/Catalina/localhost/,主要是这个目录没有被读写的权限,导致文件不能被编译到该指定的工作目录中,此时我们就要针对与这个目录做一些权限的修改权限至少要达到755或者以上,同时注意此处修改权限必须用root身份进行操作,否则不能进行修改,修改完后编译好的jsp文件就在localhost的目录当中了。
chmod +777 /usr/local/tomcat/work/Catalina/localhost
2.运行Solr
在浏览器输入 http://localhost:8080/solr/index.html#/ 即可出现Solr的管理界面
看到管理页面说明安装成功
关闭solr只需要关闭tomcat即可:
./shutdown.sh
至此solr的安装完毕。
更多推荐
所有评论(0)