solr6.5 的安装与配置
运行环境:
- JDK: 1.8.0_131
- Tomcat: 9.0.0.M21
- Solr: 6.5.1
注:1.建议打开两个连接linux的窗口,一个负责 solr压缩目录,另外一个负责tomcat下的目录,这样在使用过程中就不需要来回切换路径。
2.以下的Solr所有配置在Window中一样适用,除了操作文件的过程需要命令外,其他没有任何不同。
3.在操作前请先将用户切换到root,否则有些操作可能不成功。或者在操作的每个命令前 加上sudo。如创建文件夹命令:sudo mkdir solr
4.如果可以请将solr运行在solr自带的Jetty服务器内, 在solr 5.21之后已经删除war包。有兴趣可以看看Solr的wiki说明: Why No War
开始之前先说明后面目录结构代表的意思:
1. <tomcat>: 指Tomcat的安装目录。
2. <solrhome>: 存放 home、contrib、dist三个文件夹的目录
3. <solr>: Tomcat的webapps文件夹内的web应用 solr
4. <solr-6.5.1>:解压solr压缩包之后的目录
例如: Tomcat的webapps文件夹内的 solr表示为: <tomcat>/webapps/solr/
第一步:
首先下载Solr,然后将 .tgz 格式的压缩文件,上传到 linux系统中,我这里使用的软件是SecureFX,也可以使用WinSCP。看个人喜好,只要能上传文件到linux即可。
1. 使用linux的 ll 命令查看当前目录下的所有文件,当看到目录下有 solr-6.5.1.tgz时候说明上传成功。
2. 当前目录解压Solr,使用命令:
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文件夹
mkdir solr
接着在 <solr-6.5.> 目录内,执行以下命令
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文件即可。现在执行如下命令
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/
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
mkdir classes
现在WEB-INF 下的结构如下
进入 <solr-6.5.1>/server/resources/ 目录下,将日志的配置文件复制 <tomcat>/webapps/solr/WEB-INF/classes/
cp ./log4j.properties /opt/tomcat-solr/webapps/solr/WEB-INF/classes/
上面是复制了 日志配置文件之后的 classes目录。solr web应用暂时配置完成,开始第二步。
第二步:
1. 在 <tomcat> 根目录内创建solrhome文件夹 用于存放 solr的功能模块需要的库、solr jar文件、以及 solr的主目录(home)
创建solrhome文件夹
mkdir solrhome
当然也可以在其他地方创建没有强制一定要放在 Tomcat 根目录下
复制 <solr-6.5.1> 根目录下的dist、contrib 两个文件夹
cp -rf ./dist/ ./contrib/ /opt/tomcat-solr/solrhome/
注:如果到现在还是只开着一个linux命令窗口,那么你会发现在两个路径切换是多么麻烦的一件事情。所以请打开两个窗口。
在 <tomcat>/solrhome/ 内创建 home文件加,home文件是solr的主目录。用于存放solr核心 core
mkdir home
这时候solrhome文件目录结构如下
2. 复制 <solr-6.5.1>/server/solr/ 内的所有文件到 <tomcat>/solrhome/home/ 内
cp -rf ./server/solr/* /opt/tomcat-solr/solrhome/home/
home目录结构如下
继续在home文件夹下创建第一个核心 mycore(名称随意)
mkdir mycore
home目录结构如下
再复制 <solr-6.5.1>/example/example-DIH/solr/solr/ 内所有核心core的配置文件到 <tomcat>/solrhome/home/mycore/ 目录下
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
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中的安装完成, 文章有很多不足的地方,欢迎大家指正。谢谢!
solr6.5 的安装与配置的更多相关文章
- solr6.5的安装与配置
环境介绍 solr 6.5 tomcat8 jdk1.8 win7系统 一.下载solr安装包 下载地址:http://www.apache.org/dyn/closer.lua/lucene/sol ...
- Solr6.5在Centos6上的安装与配置 (一)
这篇文章主要是介绍在Centos6上Solr6.5的安装与配置. 一.安装准备及各软件使用版本说明: 1.JDK8,版本jdk1.8.0_121下载地址:jdk-8u121-linux-x64.tar ...
- JDK安装与配置
JDK安装与配置 一.下载 JDK是ORACLE提供免费下载使用的,官网地址:https://www.oracle.com/index.html 一般选择Java SE版本即可,企业版的选择Java ...
- Node.js 教程 01 - 简介、安装及配置
系列目录: Node.js 教程 01 - 简介.安装及配置 Node.js 教程 02 - 经典的Hello World Node.js 教程 03 - 创建HTTP服务器 Node.js 教程 0 ...
- 烂泥:redis3.2.3安装与配置
本文由ilanniweb提供友情赞助,首发于烂泥行天下 想要获得更多的文章,可以关注我的微信ilanniweb 前一段时间写过一篇codis集群的文章,写那篇文章主要是因为当时的项目不支持redis自 ...
- mysql源码包手动安装、配置以及测试(亲测可行)
笔记编者:小波/qq463431476博客首页:http://www.cnblogs.com/xiaobo-Linux/ 记下这篇mysql笔记,望日后有用! redhat6采用centos yum源 ...
- 环境搭建系列-系统安装之centos 6.5安装与配置
按照国际惯例,系列目录先奉上: 系列一:系统安装之centos 6.5安装与配置 系列二:准备工作之Java环境安装 系列三:数据为先之MySQL读写集群搭建 系列四:谈分布式之RabbitMQ集群搭 ...
- ZooKeeper安装与配置
一. 单机安装.配置: 1. 下载zookeeper二进制安装包下载地址:http://apache.dataguru.cn/zookeeper/zookeeper-3.4.3/zookeeper-3 ...
- mac 下JDK 与 tomcat 的安装与配置
一.Mac下JDK的安装 1.先检测Mac是否已经安装过JDK,在终端中输入java 或者 javac 显示说明,表明已经安装过JDK,JDK版本查询终端键入java -version,终端会返回JD ...
随机推荐
- 来吧学学.Net Core之登录认证与跨域资源使用
序言 学习core登录认证与跨域资源共享是越不过的砍,所以我在学习中同样也遇到啦这两个问题,今天我们就用示例来演示下使用下这2个技术点吧. 本篇主要内容如下: 1.展示一个登录认证的简单示例 2.跨域 ...
- 【Android Developers Training】 38. 文件共享需求
注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好. 原文链接:http://developer ...
- 从Android源码的角度分析Binder机制
欢迎访问我的个人博客,原文链接:http://wensibo.top/2017/07/03/Binder/ ,未经允许不得转载! 前言 大家好,好久不见,距离上篇文章已经有35天之久了,因为身体不舒服 ...
- 在MacOS中,Unity使用VSCode开发,4.7版本无法正常使用C#
我在MacOS中安装了两个版本的Unity,一个是4.7版本,一个是5.6版本,在5.6版本中使用VSCode打开项目时,可以正常代码提示和查看,但是打开4.7版本的项目时,无法正常提示和查看. 经过 ...
- 游戏UI框架设计(7): 资源国际化技术
游戏UI框架设计(7) --资源国际化技术 说起"资源国际化"技术,个人认为可以追述到微软Window2000 PC操作系统的发布,在这之前windows98操作系统的开发都是先由 ...
- Scratch2的离线下载与安装
scratch是一种程序设计语言,可以用来设计 故事.动画.游戏.音乐和美术作品. Scratch主页:https://scratch.mit.edu/ Scratch的下载与安装: 首先下载并安装A ...
- Tween 若干年后我尽然还要学数学 曲线到底是什么鬼啊
var Tween = { linear: function (t, b, c, d){ //匀速 return c*t/d + b; }, easeIn: function(t, b, c, d){ ...
- usaco training 4.1.1 麦香牛块 题解
Beef McNuggets题解 Hubert Chen Farmer Brown's cows are up in arms, having heard that McDonalds is cons ...
- Vue.js 基本功能了解
一.写在前面 隔了这么久才来出Vue的第二篇文章,真是堕落了,自己先惩罚下/(ㄒoㄒ)/~~ 回过头看自己第一篇相关文章<初试 Vue.js>(http://www.cnblogs.com ...
- RunLoop的简单理解笔记
一句话解释RunLoop:运行任务的循环. 为什么要有RunLoop:解决交互式UI设计中的一个问题,如何快速响应用户输入,如何快速将程序运行结果输出到屏幕? 基本原理:1 将任务分解的足够细 2 每 ...