solr6.5 的安装与配置

 

运行环境:html

  • JDK:    1.8.0_131
  • Tomcat: 9.0.0.M21
  • Solr:      6.5.1

注:1.建议打开两个链接linux的窗口,一个负责 solr压缩目录,另一个负责tomcat下的目录,这样在使用过程当中就不须要来回切换路径。java

  2.如下的Solr全部配置在Window中同样适用,除了操做文件的过程须要命令外,其余没有任何不一样。linux

  3.在操做前请先将用户切换到root,不然有些操做可能不成功。或者在操做的每一个命令前 加上sudo。如建立文件夹命令:sudo mkdir solrweb

  4.若是能够请将solr运行在solr自带的Jetty服务器内, 在solr 5.21以后已经删除war包。有兴趣能够看看Solr的wiki说明: Why No Warapache

开始以前先说明后面目录结构表明的意思:vim

  1. <tomcat>: 指Tomcat的安装目录。  tomcat

  2. <solrhome>: 存放 home、contrib、dist三个文件夹的目录安全

  3. <solr>:  Tomcat的webapps文件夹内的web应用 solr
服务器

  4. <solr-6.5.1>:解压solr压缩包以后的目录app

例如: Tomcat的webapps文件夹内的 solr表示为: <tomcat>/webapps/solr/ 

第一步:

首先下载Solr,而后将  .tgz 格式的压缩文件,上传到 linux系统中,我这里使用的软件是SecureFX,也可使用WinSCP。看我的喜爱,只要能上传文件到linux便可。

  1. 使用linux的  ll 命令查看当前目录下的全部文件,当看到目录下有 solr-6.5.1.tgz时候说明上传成功。

 

2. 当前目录解压Solr,使用命令:

1 tar -zxvf solr-6.5.1.tgz

执行命令以后就能够看到 solr-6.5.1文件夹了

  

  如今能够经过  cd ./solr-6.5.1/  命令,进入文件夹

   上面是solr-6.5.1目录的结构,红色指引是后面会须要用到的目录

3. 切换到 Tomcat安装目录,进入 <tomcat>/webapps/ 目录内建立 solr文件夹

1 mkdir solr

 

接着在 <solr-6.5.1> 目录内,执行如下命令

1 cp -rf ./server/solr-webapp/webapp/* /opt/tomcat-solr/webapps/solr/

将 <solr-6.5.1>/server/solr-webapp/webapp/ 内的全部文件复制到  <tomcat>/webapps/solr/ 

当看到solr目录中 多出了以下文件复制成功。

   熟悉的 首页 index.xml 和 WEB-INF web安全目录。

 

4.  接着进入 <solr-6.5.1>/server/lib 目录内, 能够看到众多的依赖包,虽然不少可是咱们只须要其中几个而已

咱们只须要 metrics 开头的jar文件便可。如今执行以下命令 

1 cp metrics-core-3.1.2.jar metrics-ganglia-3.1.2.jar metrics-graphite-3.1.2.jar metrics-jvm-3.1.2.jar /opt/tomcat-solr/webapps/solr/WEB-INF/lib/ 
2 cp ./ext/* /opt/tomcat-solr/webapps/solr/WEB-INF/lib/

拷贝 metrics 开头的文件中 除了metrics-jetty9-3.1.2以外的其余文件到  <tomcat>/webapps/solr/ 目录内

拷贝 ext 文件夹下的全部文件到 <tomcat>/webapps/solr/ 目录内

而后在 <tomcat>/webapps/solr/WEB-INF/ 下建立java文件的编译目录 classes

1 mkdir classes

 如今WEB-INF 下的结构以下

进入 <solr-6.5.1>/server/resources/ 目录下,将日志的配置文件复制  <tomcat>/webapps/solr/WEB-INF/classes/ 

1 cp ./log4j.properties /opt/tomcat-solr/webapps/solr/WEB-INF/classes/

   上面是复制了 日志配置文件以后的 classes目录。solr web应用暂时配置完成,开始第二步。

  第二步:

1. 在 <tomcat>  根目录内建立solrhome文件夹 用于存放 solr的功能模块须要的库、solr jar文件、以及 solr的主目录(home)

建立solrhome文件夹

1 mkdir solrhome   

固然也能够在其余地方建立没有强制必定要放在 Tomcat 根目录下

复制 <solr-6.5.1> 根目录下的dist、contrib 两个文件夹

1 cp -rf ./dist/ ./contrib/ /opt/tomcat-solr/solrhome/

注:若是到如今仍是只开着一个linux命令窗口,那么你会发如今两个路径切换是多么麻烦的一件事情。因此请打开两个窗口。

在 <tomcat>/solrhome/ 内建立 home文件加,home文件是solr的主目录。用于存放solr核心 core

1 mkdir home

这时候solrhome文件目录结构以下

 

2. 复制 <solr-6.5.1>/server/solr/ 内的全部文件到  <tomcat>/solrhome/home/ 内

1 cp -rf ./server/solr/* /opt/tomcat-solr/solrhome/home/

   home目录结构以下

 

   继续在home文件夹下建立第一个核心 mycore(名称随意)

1 mkdir mycore

home目录结构以下

 

再复制 <solr-6.5.1>/example/example-DIH/solr/solr/ 内全部核心core的配置文件到   <tomcat>/solrhome/home/mycore/  目录下

1 cp -rf example/example-DIH/solr/solr/* /opt/tomcat-solr/solrhome/home/mycore/

   如今mycore的文件夹结构以下

core.properties能够设置 新的核心名称

如:name=myCore1

不设置默认显示 文件夹名称, 下一步 进入conf文件夹下配置属性文件

3. 修改功能模块地址和sorl jar文件地址, 这里以 <tomcat>/solrhome/ 目录为例(若是你安装其余目录,请参考目录设置文件中的地址),我使用的vim编辑器,先打开solrconfig.xml 

1 vim solrconfig.xml 

移动光标到 路径上,而后进入vim 可视化模式 Ctrl+v 模式。选中的部分为高亮。按d键删除多行

修改后结果以下

每一个核心core都有一个 存放索引文件和日志的目录 data

若是有须要修改,能够在下图位置修改data路径

默认在核心core根目录下,若是不使用默认路径能够修改成存放data的路径 例如:

注:若是此处编辑以后没法保存,那么你可能不是用root权限打开。

4. 好了,solrhome的设置基本完成,那么最后就是关联 solr web应用和 home目录(不是solrhome)

打开 <tomcat>/webapps/solr/WEB-INF/ 目录下的web.xml配置文件

 修改entry地址以下

 

注:1.此处使用的是我本身设置的 home目录,因此设置路径时候 根据我的设置的 home 路径设置配置文件

      2.记得打开 <!-- --> 注释

      3.是home路径 不是 solrhome。home文件下存储的是核心core

而后跳到web.xml配置文件最后。注释掉一下两个标签

若是不注释,那么访问solr的时候会出现一下错误:

  •  HTTP Status 403 - Access to the requested resource has been denied:拒绝访问

 

最后一步

进入 <tomcat>/bin/ 目录执行  ./startup.sh  命令,启动Tomcat

当出现 Tomcat started时候 说明tomcat已经启动成功了。

注:如访问solr不成功,能够执行  ./catalina.sh run ,命令窗口就能够打印出执行的信息(有时执行./startup.sh命令 并不会出现执行信息)。 

这时候就能够访问solr试试

 

当出现以上界面,说明 solr能够访问了。上图也显示了 建立了核心 core,若是须要能够在home下建立多个和核心core。

注:访问solr时候在网址后面须要添加 /index.html路径不然没法访问。web.xml中已经设置了 欢迎页面是 index.html依然没法访问solr。出现该问题缘由,应该是solr版本问题,在旧版本中,将solr部署到Tomcat下能够成功的访问(5.2.1以前solr还有war包)。若是直接将solr运行在自带的Jetty服务器内,能够经过 http://localhost/solr  地址直接访问,不须要添加 /index.html。因此能够的话请将solr运行在自带的Jetty服务器上,以免出现不可预知的状况。

总结:

  solr部署,简单点说就是一下两点:

    一:webapps中建立好solr web应用,包括solr的依赖包和扩展jar文件等

    二:建立solrhome目录,保存 模块功能和solr的jar包 以及home主目录

  最后将solr web应用和solrhome目录关联便可。

 至此solr在linux中的安装完成, 文章有不少不足的地方,欢迎你们指正。谢谢!

相关文章
相关标签/搜索